Які основні компоненти Apache Kafka?
Apache Kafka - це розподілена система, що складається з декількох компонентів. Основними компонентами Apache Kafka є:
Тема - категорія або прізвище, до якого виробники можуть надсилати повідомлення і читати споживачами. Він є лише додатковим і незмінним. Споживачі можуть використовувати офсет для відстеження прочитаних повідомлень.
Брокер: кластер Кафки складається з одного або декількох брокерів, які керують зберіганням повідомлень на теми і служать посередниками між виробниками і споживачами.
Виробники: програми, які виробляють дані і публікують їх на одну або кілька тем у кластері Кафки. Вони контролюють, як події призначаються розділам у рамках теми.
- Споживачі: програми, які підписуються на одну або кілька тем і споживають опубліковані повідомлення. Єдині метадані, що зберігаються на основі кожного споживача, - це порівняння або позиція цього споживача в темі. Цей контракт контролюється споживачем.
- розділи: Кафка використовує розділи, щоб розділити повідомлення теми по декількох брокерів для масштабування та продуктивності. Події з одним і тим же ключем подій, наприклад, один і той же ідентифікатор клієнта або ідентифікатор автомобіля, записуються на один і той же розділ, і Кафка гарантує, що будь-який споживач даного тематичного розділу завжди прочитає події цього розділу в тому ж порядку, в якому вони були написані.
Реплікація: У декількох брокерів завжди є копія даних, щоб гарантувати високу доступність та толерантність до помилок. Це реплікація виконується на рівні тематичного розділу.