22 lines
2.9 KiB
Markdown
22 lines
2.9 KiB
Markdown
Apache Kafka – это платформа потоковой передачи, которую можно использовать для быстрой обработки большого коли- чества событий.
|
||
|
||
Доставка сообщений в Kafka может осущест- вляться как минимум тремя способами:
|
||
- не менее одного раза (at-least-once) – сообщение будет отправля- ется потребителям до тех пор, пока те не подтвердят его полу- чение;
|
||
- не более одного раза (at-most-once) – сообщение отправляется только один раз и в случае сбоя не отправляется повторно;
|
||
- точно один раз (exactly-once) – потребитель гарантированно получит сообщение ровно один раз.
|
||
|
||
![](c85390a0-94b2-48f9-8dea-02d9bacc2562.jpg)
|
||
|
||
![](49356685-5474-490b-975a-d198d7f966bb.jpg)
|
||
|
||
![](3ad2bf28-e12a-4be7-9336-c38c7b5d7018.jpg)
|
||
|
||
Помимо различных семантик доставки, есть еще одно общее преимущество использования брокера сообщений – если прило- жение-потребитель потерпело аварию или остановлено для тех- нического обслуживания, то производитель может не ждать, пока его сообщение будет обработано. Когда потребители возобновят работу и вернутся в сеть, они смогут продолжить с того места, на котором остановились, и обработать ожидающие сообщения.
|
||
|
||
Платформа Kafka изначально была ориентирована на работу с несколькими потребителями. Это означает, что приложение, чи- тающее сообщение из брокера сообщений, не делает это сообще- ние недоступным для других приложений, которые также могут за- хотеть его получить и использовать.
|
||
|
||
Сообщение, также называемое записью, является основной частью данных, проходящих через Kafka. Сообщения – это представле- ние ваших данных в Kafka. Каждое сообщение имеет отметку времени, значение и необязательный ключ. При желании также можно добавлять свои заголовки
|
||
|
||
![](ae8f6a39-5a3f-4195-8f6a-0b96e492413c.jpg)
|
||
|