Hello world - в apache kafka - dots and brackets блог

Ну що, саме час відправити якихось даних через Apache Kafka. Але спочатку, зрозуміло, його потрібно встановити.
Установка Кафки настільки проста, що в цей раз я відійду від свого звичайного правила і справді поясню, як його встановлювати. Отже, чотири кроки:
- Встановити Java Development Kit (чомусь часто вже виявляється встановленим)
- Завантажити архів з Кафкою
- Розпакувати (tar - xzf kafka_2. 11 - 0.10.1.0.tgz в * nix системах)
- Усе. Кафка готовий.
Чесно, це дійсно все. Але перш, ніж ми підемо далі, варто озирнутися:
Look inside kafka folder
У комплекті з Кафкою йде не так багато папок, і нам знадобляться всього дві з них: bin. де зберігаються шелл-скрипти і config. де ховаються файли конфігурації сервісів.
Як запустити Kafka
Як я згадував минулого разу. навіть самотній кафкіанський брокер - це кластер, так що його запуск трохи відрізняється від запуску того ж RabbitMQ. На відміну від кролика, Кафку потрібен допоміжний сервіс для того, щоб координувати роботу зоопарку брокерів в кластері, і ім'я того сервісу - ZooKeeper. Коли створюється новий топік, або додається новий брокер, або віддаляється старий, ZooKeeper - це той, хто буде з усім цим розбиратися. Він вирішить, куди покласти новий топік, ніж завантажити нового брокера, і навіть як збалансувати набір реплік, якщо частина з них пішла разом з полеглим сервісом. Він наглядач і координатор, і його запускають першим.
Як запустити Apache ZooKeeper
Інсталлер Кафки йде в комплекті з ZooKeeper, так що пошуки закінчилися, не встигнувши початися. Скрипт для запуску лежить в bin папці, а конфігурація - в config. і, власне, більше нічого не потрібно:
Starting Apache ZooKeeper
Тепер, коли сервер працює, пора б і відправити йому чого.
Відправлення та отримання повідомлень
Щоб відправити і отримати хоч що-небудь, потрібно ще три кроки (маленьких): створити топік, де будуть зберігатися повідомлення, створити продюсера, щоб було що зберігати, і Консьюмер, щоб було навіщо. І для всього цього є свій шелл-скрипт.
створюємо топік
Create Kafka topic
Як і продюсер, одержувач повинен вказати хоч якусь точку входу в кластер через параметр - - bootstrap - server. Він теж тримає відкритою сесію і виводить в термінал все, що вдалося отримати від Кафки.
І все! Якимось незбагненним чином, без єдиної строчки коду ми отримали працюючий кластер з одним хостом, через який пропустили парочку повідомлень.
висновок
Запустити Kafka-сервер і пропустити через нього повідомлення, в общем-то, складніше, ніж зробити те ж саме з RabbitMQ і тим більше з ZeroMQ (в принципі, все в цьому світі складніше, ніж ZeroMQ). З іншого боку, для того, щоб перейти від кластера з одним хостом до многохостовому кластеру з розподіленими топіки, додаткових зусиль не потрібно. Саме це ми і перевіримо в наступний раз.