Комментарии 10
Не скажу за NATS Core, но JetStream выглядит как сырая технология. Соседняя команда завязалась на его. Потом вышло так что его кластер разваливался по любому поводу, причём стейт корраптился так, что чинилось только удалением всего стейта. С single node не сильно лучше получается, на большой нагрузке вылезают баги. А на гитхабе не сильно-то и помогают с нестабильно воспроизводящимися багами. Предагают купить поддержку у компании-разработчика за дофига денег и тогда они может и посмотрят.
Добрый день!
Может Ваши коллеги работали на более старых версиях NATS?
Я работал на версии 2.9.15 и nats JetStream работал стабильно
Подтверждаю. В соседней команде в итоге вынуждены были переехать с Nats на Kafka.
Интересный разбор, детали и сравнения.
Скажите пожалуйста, у Вас был большой опыт работы с этим брокером? И насколько Вы лично довольны NATS?
Полезный обзор. Для полноты картины в сравнительную таблицу хорошо бы ActiveMQ добавить.
Не совсем корректно говорить, что в Kafka нет подтверждения доставки. Как раз гарантии доставки в Кафка есть, сообщение будет доставлено до consumer (если таковой вообще существует). Нет гарантии обработки, но их нет и в RabbitMQ и, насколько знаю, в NATS.
Возможно, стоило бы еще и сказать про реальную призводительность и надежность, где Kafka много лучше и RabbitMQ и NATS.
Гарантий доставки exactly once не существует. В Kafka так называется автоматическая дедупликация между producer и broker, но фактически consumer может читать данные много раз. В NATS, подозреваю, так же (так как exactly once физически нереализуемо в распределенных систем).
Ну и, насколько я понимаю, в таблице 3 млн. событий в секунду для NATS указано для режима без persistance, что делает эти числа бесполезными.
P.S. Текст выглядит как автоматический перевод. Если это так, то стоит указать оригинальный источник. Если нет, то стоит вычитать и поправить грамматические ошибки, их очень много.
NATS, SAY NOT ONLY RabbitMQ and KAFKA