Docker Compose ابزاری است که امکان اجرای چندین سرویس Docker به صورت همزمان را با یک فایل پیکربندی yaml فراهم میکند. استفاده از Docker Compose برای Kafka بسیار مفید است زیرا Kafka برای عملکرد خود نیازمند چندین سرویس است، از جمله Zookeeper و خود Kafka Broker.
چرا از Docker Compose استفاده کنیم:
- راهاندازی سریع و ساده Kafka و Zookeeper بدون نصب دستی هر سرویس.
- امکان تعریف وابستگیها بین سرویسها (مثلاً Kafka به Zookeeper نیاز دارد).
- اجرای چند نمونه Kafka برای تست مقیاسپذیری به راحتی.
- قابلیت تعریف پورتها، حجمهای ذخیرهسازی و تنظیمات محیطی در یک فایل واحد.
ساختار کلی فایل docker-compose.yml برای Kafka:
یک فایل Compose معمولاً شامل سرویسها، شبکهها و حجمهای ذخیرهسازی است. برای Kafka، حداقل دو سرویس تعریف میکنیم:
سرویس | وظیفه |
---|---|
Zookeeper | مدیریت هماهنگی و وضعیت Brokerها، نقش قلب سیستم Kafka را دارد. |
Kafka Broker | ذخیره و مدیریت پیامها، دریافت پیام از Producer و ارسال به Consumer. |
با استفاده از Docker Compose، میتوان محیط Kafka را روی سیستم محلی یا سرور آزمایشی تنها با اجرای یک دستور ساده (docker-compose up
) راهاندازی کرد. این روش باعث کاهش پیچیدگی و سرعت بخشیدن به فرایند توسعه و تست میشود.