Как стать автором
Обновить

Нужна ли вам Kafka? Разбираемся в технологии и собираем простое приложение на базе managed-решения

Время на прочтение16 мин
Количество просмотров41K
Всего голосов 51: ↑50 и ↓1+65
Комментарии8

Комментарии 8

У Kafka есть и еще один не всегда очевидный минус. С ней совсем не просто пройти сертификацию даже на какую-то не очень злую секурность. Причем, что российскую, что американскую.

Подскажите, пожалуйста, новичку с чем это связано?

Забавно, но буквально через 2 часа после моего комментария в рабочем чате девопс написал, что у нас на открытом ip оказался открыт порт, через который кто угодно мог читать нашу Kafka)

Если вы решили самостоятельно обслуживать Kafka-кластер в публичной сети, обеспечение безопасности становится вашей работой. Могу дать несколько важных, но, возможно, очевидных для вас рекомендаций:

  • Убедитесь, что настроена аутентификация для доступа к кластеру Kafka.

  • Обязательно используйте SSL/TLS для шифрования соединений между клиентами и брокерами Kafka. 

  • Ограничьте доступ к брокерам Kafka только для необходимых вам IP-адресов через брандмауэр.

  • Регулярно обновляйте версии Kafka и всех связанных компонентов.

  • Организуйте мониторинг, чтобы следить за активностью кластера, обнаруживать аномалии и подозрительное поведение. Анализируйте журналы для выявления попыток атак.

Список рекомендаций может быть в разы масштабнее. Обеспечение безопасности — серьезная работа, которая редко доступна "из коробки", — ею должны заниматься профессионалы. 

Чтобы избежать подобных ситуаций, могу рекомендовать вам в следующий раз использовать готовый сервис от надежных провайдеров облачных услуг.

С другой стороны, Rabbit обеспечивает меньшее латенси при доставке сообщений, другими словами — переварит меньше, зато быстрее.

Не совсем понятна формулировка, если задержка низкая то наоборот, пропускная способность будет выше, так как можно обработать больше сообщений в единицу времени. А при высокой задержке пропускная способность ниже.

В любом случае, спасибо за статью, получилось интересно :)

Спасибо за интерес к статье! Согласен не очень хорошо сформулировал.

Имел ввиду что Kafka за счет мощной функциональности шардирования по брокерам возможно (но это не точно) переварит больше чем rabbit, несмотря на то что однонодный Rabbit обычно (но не всегда) быстрее чем однонодная Kafka.

Однако в каждом конкретном случае выбор инструмента обычно сложнее, и зависит от специфики проекта и профиля нагрузки на систему.

В опросе ещё нужно было добавить пункт: "Для солидности. Используем Кафку вместе с БигДатой, чтобы все поверили в серьёзность нашей системы"

Масштабируемость Кафки имеет ограничения.

Партиция на холодных данных ведёт себя как файл с выраженным временем операций seek, read и без одновременного чтения внутри одной партиции. В кеше это менее выражено, но когда нужно выгрузить старые логи это встаёт в полный рост. Ускорить можно только разделением данных на партиции, десятки и сотни. И важно чтобы данные равномерно распределялись между ними иначе параллелить не удастся.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий