Я нашел несколько сравнений между Kafka и IBM MQ.Но я еще не получил все свои ответы.У меня есть некоторые выводы, и мне нужно их подтвердить.Я знаю, что IBM поддерживает одноранговую сеть.Но я сравниваю режимы Publisher \ Subscriber и, скажем, тот же размер кластера.Я в основном обеспокоен тем, как Kafka сравнивается с IBM MQ в следующей области:
- Масштабируемость: оба масштабируются горизонтально.Однако Kafka более масштабируема, особенно когда речь идет о количестве потребителей, поскольку она использует один журнал для всех потребителей.
- Надежность: IBM MQ более надежен.Кафка временами не стабильна и ведет себя неуклюже.Это как-то меня удивило.
- Пропускная способность: у Кафки намного больше пропускной способности.Хотя IBM MQ обладает пропускной способностью, достаточной для подавляющего большинства приложений.
- Задержка: я нашел противоречивые мнения.Некоторые люди говорят, что у kafka меньше задержки, в то время как другие говорят, что у него больше.
- Наличие: оба очень доступны.
- Отказоустойчивость: Оба отказоустойчивы.Но Кафка выигрывает здесь.
- Постоянство сообщений: Оба сохраняют сообщения.Но у кафки лучше сохраняются сообщения, и оно выходит из коробки.
- Воспроизведение сообщений: оба поддерживают воспроизведение сообщений.Я не уверен, какой из них проще или лучше.
- Порядок сообщений: Kafka поддерживает порядок только на уровне разделов.IBM MQ поддерживает по теме.Заказ можно сделать в kafka на уровне темы, используя ключи.
- Безопасность: оба поддерживают безопасность.Но IBM MQ обладает лучшими функциями безопасности.Кривая обучения для разработчиков и оперативников: у Kafka больше учебных материалов и меньше готовых к обучению как для разработчиков, так и для операций.
- Другое: IBM MQ как стандартная очередь обмена сообщениями более многофункциональн, чем Kafka.IBM MQ также поддерживает JMS, что делает его более стандартным, чем Kafka.С другой стороны, Kafka лучше подходит для архитектур с большими данными, таких как Lambda.Также Kafka поддерживает потоковую обработку и также имеет коннекторы.
Заключение
Kafka предпочтительнее для приложений, которые нуждаются в сумасшедшей пропускной способности или которые требуют интеграции в большой стек данных, и где потеря нескольких сообщений не означаетбольшое делоС другой стороны, IBM MQ для использования в приложениях, где надежность и стабильность являются ключевым фактором и которые не допускают потери сообщений.
Примечание:
Это только мои выводы.Они могут быть правильными или неправильными.Пожалуйста, исправьте неправильные и добавьте недостающие точки.