برای استفاده مؤثر از Kafka، توسعهدهندگان باید با مفاهیم اصلی آن آشنا شوند. این مفاهیم پایهای به درک جریان دادهها و نحوه تعامل اجزای سیستم کمک میکنند.
Producer
Producer یا تولیدکننده، برنامهای است که پیامها را تولید و به Kafka ارسال میکند. هر پیام به یک Topic مشخص فرستاده میشود.
Consumer
Consumer یا مصرفکننده، برنامهای است که پیامها را از Kafka میخواند. هر Consumer میتواند به صورت مستقل یا بخشی از یک Consumer Group پیامها را دریافت کند.
Topic
Topic یک دستهبندی منطقی برای پیامها است. پیامها تولیدشده توسط Producer به یک Topic خاص فرستاده میشوند و Consumerها از آن Topic پیامها را میخوانند.
Partition
هر Topic میتواند به چند Partition تقسیم شود. Partitionها پیامها را به صورت ترتیبی ذخیره میکنند و به Kafka امکان میدهند تا بار پردازشی را بین Brokerها تقسیم کند.
Offset
Offset یک شماره منحصر به فرد برای هر پیام در یک Partition است. این شماره به Consumerها کمک میکند تا بدانند چه پیامهایی را خواندهاند و از کجا باید ادامه دهند.
Broker
Broker یک سرور Kafka است که پیامها را ذخیره و مدیریت میکند. یک کلاستر Kafka معمولاً شامل چند Broker است تا دادهها به صورت مقاوم و مقیاسپذیر نگهداری شوند.
Consumer Group
Consumer Group گروهی از Consumerها هستند که به صورت هماهنگ پیامهای یک Topic را مصرف میکنند. هر پیام تنها توسط یکی از اعضای گروه پردازش میشود و این امکان توزیع بار را فراهم میکند.