Решение проблемы
Kafka работает быстро по ряду причин. Назвать несколько.
- Zero Copy — см. https://en.wikipedia.org/wiki/Zero-copy, в основном он вызывает ядро ОС напрямую, а не на прикладном уровне для быстрого перемещения данных.
- Batch Data in Chunks - Kafka is all about batching the
data into chunks. This minimises cross machine latency with all the
buffering/copying that accompanies this. - Избегает случайного доступа к диску — поскольку Kafka является неизменяемым журналом фиксации, ему не нужно перематывать диск и выполнять множество случайных операций ввода-вывода, и он может просто обращаться к диску в последовательном порядке. Это позволяет получить аналогичные скорости от физического диска по сравнению с памятью.
- Может масштабироваться по горизонтали. Возможность иметь тысячи разделов для одной темы, распределенной между тысячами машин, означает, что Kafka может справляться с огромными нагрузками.
Комментариев нет:
Отправить комментарий