forked from upagge/digital-garden
36 lines
3.0 KiB
Markdown
36 lines
3.0 KiB
Markdown
---
|
||
aliases:
|
||
- кафка
|
||
- kafka
|
||
tags:
|
||
- type/moc
|
||
date:
|
||
- - 2024-07-02
|
||
- - 2024-07-02
|
||
zero-link:
|
||
- "[[00 Архитектура ПО]]"
|
||
linked:
|
||
---
|
||
Apache Kafka – это платформа потоковой передачи, которую можно использовать для быстрой обработки большого количества событий.
|
||
|
||
Доставка сообщений в Kafka может осуществляться как минимум тремя способами:
|
||
- не менее одного раза (at-least-once) – сообщение будет отправляется потребителям до тех пор, пока те не подтвердят его получение;
|
||
- не более одного раза (at-most-once) – сообщение отправляется только один раз и в случае сбоя не отправляется повторно;
|
||
- точно один раз (exactly-once) – потребитель гарантированно получит сообщение ровно один раз.
|
||
|
||

|
||
|
||

|
||
|
||

|
||
|
||
Помимо различных семантик доставки, есть еще одно общее преимущество использования брокера сообщений – если приложение потребитель потерпело аварию или остановлено для технического обслуживания, то производитель может не ждать, пока его сообщение будет обработано. Когда потребители возобновят работу и вернутся в сеть, они смогут продолжить с того места, на котором остановились, и обработать ожидающие сообщения.
|
||
|
||
Платформа Kafka изначально была ориентирована на работу с несколькими потребителями. Это означает, что приложение, читающее сообщение из брокера сообщений, не делает это сообщение недоступным для других приложений, которые также могут захотеть его получить и использовать.
|
||
|
||
Сообщение, также называемое записью, является основной частью данных, проходящих через Kafka. Сообщения – это представление ваших данных в Kafka. Каждое сообщение имеет отметку времени, значение и необязательный ключ. При желании также можно добавлять свои заголовки
|
||
|
||

|
||
|
||
## Заметки
|
||
- Реализована на Java |