Автор: Дзен и искусство компьютерного программирования
1. Введение
В 2011 году был официально выпущен Apache Kafka, который стал одной из самых влиятельных систем обмена сообщениями в сообществе с открытым исходным кодом. С бурным развитием Интернета, мобильного Интернета, Интернета вещей, финансов, телекоммуникаций и других отраслей все больше и больше компаний начинают использовать Kafka в качестве распределенной системы обмена сообщениями и применять ее в различных областях, таких как электронная коммерция, платежи. , навигация по карте, сбор журналов, потоковые вычисления и другие сценарии. Kafka играет важную роль во всей экосистеме больших данных и стала важным инструментом для предприятий по сбору, хранению, анализу и использованию данных в реальном времени.
Чтобы помочь предприятиям лучше понять и освоить архитектуру приложений и лучшие практики Kafka, в этой статье будут подробно рассмотрены основные концепции, использование, преимущества и недостатки Kafka, а также архитектура приложений очередей сообщений корпоративного уровня, а также подробно представлены как создавать приложения уровня предприятия на базе Kafka.Решения для архитектурного проектирования и оптимизации. Эта статья подходит для технического персонала, обладающего определенной технической базой, хорошими коммуникативными навыками и духом личного общения.
2. Объяснение основных понятий и терминов
2.1 Обзор Apache Kafka
Apache Kafka (также известный как Apache Kafta или Kafka) — это платформа распределенной потоковой обработки с открытым исходным кодом, основанная LinkedIn и в настоящее время управляемая Apache Software Foundation. К основным функциям Kafka относятся следующие:
- Публикация сообщений и подписка
- Сохранение сообщений
- Распределенный журнал
- Распределенный кластер
Обеспечивает высокую пропускную способность, низкую задержку, надежность и отказоустойчивость. Kafka можно использовать для различных случаев использования, таких как отслеживание активности веб-сайта, ведение журнала поведения пользователей, мониторинг сети, выполнение онлайн-транзакций и т. д. Kafka хранит, обрабатывает и пересылает сообщения через распределенный кластер, который включает в себя кластеры серверов, диски и темы. Каждую тему можно рассматривать как реестр, в котором записывается каждое сообщение, отправленное в кластер Kafka. Темы можно разделить на несколько разделов, чтобы данные в разных наборах сообщений можно было хранить на нескольких брокерах.