Использование памяти и стабильность Kafka против ActiveMQ Artemis - PullRequest
0 голосов
/ 03 октября 2019

Уже несколько лет мы используем ActiveMQ (Artemis) довольно хорошо. Недавно мы подумали о том, чтобы исследовать Kafka вместо ActiveMQ для повышения пропускной способности. Наш опыт был смешанным. Мы запускаем оба приложения на машинах Linux.

  1. По сравнению с ActiveMQ мы поняли, что Kafka требует больше инфраструктуры (выделенных виртуальных машин), тогда как ActiveMQ может работать вместе с другими приложениями в коробке. Кафка внезапно рухнул через несколько дней, если мы попытаемся запустить его вместе с другими приложениями. Почему это происходит?
  2. Кафке требуется гораздо больше памяти, чем ActiveMQ. Несколько раз после сбоя мы обнаружили, что это происходит из-за OutofMemoryError в Kafka (тогда как ActiveMQ работал очень хорошо на той же машине)
  3. На наших производственных серверах ActiveMQ работал на одном узле, тогда как для Kafka кластеризациятребуется.
  4. Кафка не имеет встроенного интерфейса. Да, мы можем получить другие инструменты, такие как Kafdrop.
  5. Kafka также требуется один узел / кластер Zookeeper.

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

Я хотел бы знать, почему Kafka часто падает с ошибкой памяти. Что-то не так с нашей настройкой? Пожалуйста, поделитесь своими мыслями.

...