Я ищу поставщика JMS, который должен иметь следующие дополнительные характеристики:JMS с обязательной масштабируемостью (Active-Active -...- Active) и упорядочением?
- Ве мульти брокеров, где все брокеры должны быть активными (без единой точки отказа)
- Масштабируемость только на две машины , будет вполне достаточно для наших нужд
- Уметь порядок гарантируем (если один производитель + 1 потребитель)
Мы попытались ActiveMQ 5.14, который, казалось, хорошо для обоих наших требований, но только если рассматривать отдельно:
- «ActiveMQ: Для того, чтобы обеспечить высокую масштабируемость большого обмена сообщениями ткани обычно требуется, чтобы много брокеров быть объединены вместе в сеть, чтобы вы могли иметь столько клиентов, сколько хотите, все логически соединенные вместе - и запускать столько брокеров сообщений, сколько вам нужно, исходя из вашего количества клиентов и топологии сети. ... Если вы используете топологию типа «клиент/сервер» или «хаб/спид», тогда брокер, к которому вы подключаетесь, становится единственной точкой отказа , что является еще одной причиной желания сети (или кластера) брокеров, чтобы вы могли пережить неудачу любого конкретного брокера, машины или подсети "
- " Заказ: Общее количество заказов на сообщения не сохраняется с сетями брокеров. Общее упорядочение работает с одним потребителем, но networkBridge вводит второго потребителя. Кроме того, пользователи сетевого моста направляют сообщения через vend.send (..), поэтому они переходят из заголовка очереди в брокером-брокером в хвост очереди на цель. Если отдельный потребитель перемещается между сетевыми брокерами, общий порядок может быть сохранен, если все сообщения, всегда следует за потребителем, но это может быть трудно гарантировать с большими отставаниями сообщений.»
Мы пришли к такому же выводу, НО: С Kafka вы не можете использовать JMS Java API, а сама Kafka гарантирует только по крайней мере один, а не один раз. https://kafka.apache.org/08/documentation.html: «... в этот момент мы гарантируем, что сообщение было опубликовано ровно один раз. Мы надеемся добавить это в будущую версию Kafka». –
Существует образец на [ровно один раз] (https://dzone.com/articles/kafka-clients-at-most-once-at-least-once-exactly-o). Ваши наблюдения потрясающие, можете ли вы выделить, где не так с Кафкой? – SACn
Вы не ошибаетесь, и ссылка, которую вы передаете, кажется прекрасной. Речь шла о поиске стандартного решения JMS, которого нет у Кафки. В любом случае, Кафка является лучшим и для наших нужд. –