Database Labdon
804 subscribers
33 photos
2 videos
1 file
734 links
🕸 Database Academy

حمایت مالی:
https://www.coffeete.ir/mrbardia72

ادمین:
@mrbardia72
Download Telegram
🔵 عنوان مقاله
How Kafka Works (20 minute read)

🟢 خلاصه مقاله:
Apache Kafka یک پلتفرم متن‌باز پیام‌رسانی و رویدادمحور است که رکوردهای key-value را در logهای افزایشی و تغییرناپذیر ذخیره می‌کند. داده‌ها در topicها سازمان‌دهی و بین partitionها توزیع می‌شوند تا مقیاس‌پذیری افقی و پردازش موازی فراهم شود. ترتیب پیام‌ها در هر partition حفظ می‌شود، و مصرف‌کننده‌ها با تکیه بر offset می‌توانند بازپخش دقیق داده و بازیابی وضعیت انجام دهند؛ علاوه‌بر نگهداشت (retention)، log compaction آخرین رکورد هر key را نگه می‌دارد. کلاستر Kafka معمولاً حداقل سه broker دارد؛ هر partition یک leader و چند follower دارد و با ضریب تکرار پیش‌فرض 3 همتابی می‌شود. نوشتن‌ها به leader انجام می‌شود و followerها همگام‌سازی می‌کنند؛ پایداری با تنظیماتی مانند acks=all و مجموعه ISR کنترل می‌شود. مدل pull در مصرف به مدیریت backpressure کمک می‌کند و consumer groupها امکان مقیاس‌پذیری و تحمل خطا را فراهم می‌سازند. Kafka به‌صورت پیش‌فرض تحویل at-least-once ارائه می‌دهد و با idempotent producer و تراکنش‌ها به exactly-once می‌رسد. در معماری مدرن، پروتکل KRaft جایگزین ZooKeeper شده و هماهنگی، انتخابات leader و بازیابی را در خود Kafka متمرکز می‌کند و عملیات را ساده و سریع‌تر می‌سازد.

#ApacheKafka #KRaft #ZooKeeper #DistributedSystems #EventStreaming #Scalability #FaultTolerance #Messaging

🟣لینک مقاله:
https://newsletter.systemdesign.one/p/how-kafka-works?utm_source=tldrdata


👑 @Database_Academy
🎉1
🔵 عنوان مقاله
"You Don't Need Kafka, Just Use Postgres" Considered Harmful

🟢 خلاصه مقاله:
** گونار مورلینگ به ادعای «You Don’t Need Kafka, Just Use Postgres» پاسخ می‌دهد و می‌گوید این توصیه اگر به‌صورت کلی پذیرفته شود گمراه‌کننده و مضر است. به‌زعم او، جایگزین‌کردن یک لاگ توزیع‌شده با یک پایگاه‌داده رابطه‌ای، تفاوت اساسی میان «event streaming» و «OLTP» را نادیده می‌گیرد: Kafka تضمین‌هایی مثل نگهداری رویدادها، ترتیب‌پذیری، قابلیت replay، fan-out مستقل و مدیریت backpressure ارائه می‌کند که Postgres ذاتاً برای آن ساخته نشده است. البته در مقیاس‌های کوچک و سناریوهای ساده، انتخاب Postgres می‌تواند کافی و ساده‌تر باشد؛ اما با رشد سیستم و نیاز به جداسازی سرویس‌ها و replay تاریخی، محدودیت‌ها آشکار می‌شوند. مورلینگ الگوهایی مثل outbox و CDC (با ابزارهایی مانند Debezium) را برای پیوندزدن دنیای تراکنشی Postgres با جریان رویداد در Kafka توصیه می‌کند. جمع‌بندی او: نسخه‌های کلی «فقط از X استفاده کنید» خطرناک‌اند؛ نیازها را دقیق تحلیل کنید و براساس مبادله‌های واقعی ابزار مناسب یا ترکیب ابزارها را برگزینید.

#Kafka #Postgres #EventStreaming #CDC #Debezium #SoftwareArchitecture #Scalability

🟣لینک مقاله:
https://postgresweekly.com/link/176683/web


👑 @Database_Academy