logo

Temes Kafka

A la secció anterior, hem fet una breu introducció sobre Apache Kafka, el sistema de missatgeria, així com el procés de streaming. Aquí parlarem dels conceptes bàsics i del paper de Kafka.

Temes

Generalment, un tema fa referència a un encapçalament particular o a un nom donat a algunes idees específiques interrelacionades. A Kafka, la paraula tema es refereix a una categoria o un nom comú utilitzat per emmagatzemar i publicar un flux de dades concret. Bàsicament, els temes de Kafka són similars a les taules de la base de dades, però no contenen totes les restriccions. A Kafka, podem crear n nombre de temes com vulguem. S'identifica pel seu nom, que depèn de l'elecció de l'usuari. Un productor publica dades sobre els temes i un consumidor llegeix aquestes dades del tema subscrivint-hi.

Particions

Un tema es divideix en diverses parts que es coneixen com a particions del tema. Aquestes particions estan separades en un ordre. El contingut de les dades s'emmagatzema a les particions del tema. Per tant, mentre creem un tema, hem d'especificar el nombre de particions (el nombre és arbitrari i es pot canviar més endavant). Cada missatge s'emmagatzema en particions amb un identificador incremental conegut com el seu valor de compensació. L'ordre del valor de compensació està garantit només dins de la partició i no a través de la partició. Els desplaçaments d'una partició són infinits.

Nota:Les dades un cop escrites en una partició no es poden canviar mai. És immutable. El valor de compensació sempre roman en un estat incremental, mai torna a un espai buit. A més, les dades es guarden en una partició només durant un temps limitat.

Vegem un exemple per entendre un tema amb les seves particions.

Temes Kafka

Suposem, un tema que conté tres particions 0,1 i 2. Cada partició té diferents números de desplaçament. Les dades es distribueixen entre cada desplaçament de cada partició on les dades del desplaçament 1 de la partició 0 no tenen cap relació amb les dades del desplaçament 1 de la partició 1. Però, les dades del desplaçament 1 de la partició 0 estan interrelacionades amb les dades contingudes al desplaçament 2 de la partició 0.

Corredors

Aquí ve el paper d'Apache Kafka.

Un clúster de Kafka està format per un o més servidors que es coneixen com a intermediaris o intermediaris Kafka. Un corredor és un contenidor que conté diversos temes amb les seves múltiples particions. Els intermediaris del clúster només s'identifiquen mitjançant un identificador enter. Els corredors de Kafka també es coneixen com Corredors d'arrencada perquè la connexió amb qualsevol corredor significa connexió amb tot el clúster. Tot i que un corredor no conté dades senceres, però cada agent del clúster coneix tots els altres corredors, particions i temes.

Temes Kafka

Així és com es veu un corredor a la figura que conté un tema amb n nombre de particions.

Exemple: Brokers i Temes

Suposem, un clúster de Kafka format per tres corredors, és a dir, Broker 1, Broker 2 i Broker 3.

Temes Kafka

Cada corredor té un tema, és a dir, Topic-x amb tres particions 0,1 i 2. Recordeu que totes les particions no pertanyen només a un agent, sempre es distribueix entre cada corredor (depèn de la quantitat). Broker 1 i Broker 2 contenen un altre tema-y amb dues particions 0 i 1. Per tant, Broker 3 no conté cap dada del tema-y. També es conclou que mai no hi ha cap relació entre el número de corredor i el número de partició.