Apache Kafka Seriyası — Apache Kafka Arxitekturası

Valid Akhundov
2 min readMay 27, 2020

--

Apache Kafka seriyasının ikinci məqaləsinə xoş gəlmişsiniz. Keçən məqalədə Kafka haqqında ümumi məlumata nəzər salmışdıq. Əgər oxumamısınızsa həmin məqaləyə buradan keçid ala bilərsiniz. Bu məqalədə Kafka-nın arxitekturasına baxacayıq.

Kafkanın arxitekturasında 4 ünsür var bunlar:

  • Broker
  • ZooKeeper
  • Producer
  • Consumer

Broker nədir?

Əvvəlki məqalədə qeyd etdiyimiz kimi Kafka-nını özəlliklərindən biri ölçəklənəbilən olmasıdır. Yəni Kafka cluster-i yaratmaq mümkündür. Və hə cluster bir və ya bir neçə broker-dən ibarət ola bilər. Broker-lər serverlər — yəni cluster-in node-larıdır. Mesajlar broker-lərdə saxlanılır və işlənir. Hər broker-in özünəməxsus identifikasiya nömrəsi var.

ZooKeeper nədir?

Apache ZookeeperApache 2.0 lisenziyası altında açıq qaynaq kodlu proqramdır. ZooKeeper-in Kafka cluster-ində əsas vəzifələri aşağıdakılardır:

  • Broker-ləri idarə etmək (silmək, əlavə eləmək və s.)
  • Cluster-də lider broker-in in təyin olunması
  • Partition seçilməsi
  • Topic-lərin tanınması
  • Offset-in yenilənməsi və s.

Producer — Kafka-ya məlumatı yazan, Consumer isə məlumatı oxuyan hər hansı bir proqramdır. Hər hansı bir proqramlaşdırma dili ilə yazıla bilərlər.

Qeyd: Producer, Consumer, Partition, Topic və Offset haqda daha ətraflı növbəti məqalədə danışacayıq.

Kafka paylanmış platforma olduğu üçün cluster-də mesajı bir neçə broker-də saxlana bilər. Bu replication factor vasitəsiylə həyata keçirilir. Nümunə üzərindən baxaq:

Tutaq ki, bizim Kafka cluster-imizdə 3 broker var və replication factor 2 təyin edilib. Bu zaman eyni mesaj 2 fərqli broker-də saxlanacaq. Yəni producer mesajı kafkaya göndərən zaman Kafka həmin mesajı 2 fərqli broker-ə kopyalayır. Sual yarana bilər ki, cluster-imizdə olan 3 broker-dən 2 si çöksə nə baş verəcək axı replication factor 2 təyin edilib və yanlızca 1 broker çalışır? Bu zaman Kafka bizə xəta qaytaracaq. Buna görə də bir qayda olaraq broker sayı replication factor-dan kiçik olmamalıdır.

broker count >= replication factor

Apache Kafka-nın ümumi arxitekturası haqda qısaca bu qədər. Növbəti məqalədə Kafka-nın iş prinsipi, necə çalışmasına baxacayıq. İzləmədə qalın, uğurlar!

--

--