моя контактная информация
Почтамезофия@protonmail.com
2024-07-11
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Kafka — это распределенная очередь сообщений (MQ, Message Queue), основанная на модели публикации/подписки. Она в основном используется для вычислений в реальном времени и сбора журналов в области больших данных.
Kafka была первоначально разработана Linkedin. Это система промежуточного программного обеспечения для распределенных сообщений, которая поддерживает разделы и несколько реплик и координируется Zookeeper. Ее самая большая особенность заключается в том, что она может обрабатывать большие объемы данных в реальном времени для удовлетворения различных сценариев спроса. как система пакетной обработки на основе Hadoop, система реального времени с малой задержкой, механизм потоковой передачи Spark/Flink, журнал доступа nginx, служба сообщений и т. д., написанные на языке Scala,
Linkedin был внесен в Фонд Apache в 2010 году и стал ведущим проектом с открытым исходным кодом.
Основная причина заключается в том, что в среде с высоким уровнем параллелизма запросы на синхронизацию не обрабатываются вовремя и запросы часто блокируются. Например, большое количество запросов одновременно обращаются к базе данных, что приводит к блокировкам строк и таблиц. Наконец, накапливается слишком много потоков запросов, вызывая слишком много ошибок соединения и вызывая лавинный эффект.
Мы используем очереди сообщений для асинхронной обработки запросов, чтобы снизить нагрузку на систему. Очереди сообщений часто используются при асинхронной обработке, снижении пикового трафика, развязке приложений, передаче сообщений и других сценариях.
В настоящее время наиболее распространенными промежуточными программами MQ являются ActiveMQ, RabbitMQ, RocketMQ, Kafka и т. д.
(1) Развязка
Позволяет расширять или изменять процессы с обеих сторон независимо, при условии, что они придерживаются одних и тех же ограничений интерфейса.
(2) Возможность восстановления
Выход из строя одного компонента системы не влияет на всю систему. Очередь сообщений уменьшает связь между процессами, поэтому даже если процесс, обрабатывающий сообщения, зависает, сообщения, добавленные в очередь, все равно могут быть обработаны после восстановления системы.
(3) Буферизация
Это помогает контролировать и оптимизировать скорость потока данных через систему, а также решить проблему несогласованной скорости обработки производственных и потребительских сообщений.
(4) Гибкость