2017-02-18 38 views
3

Я ищу поставщика JMS, который должен иметь следующие дополнительные характеристики:JMS с обязательной масштабируемостью (Active-Active -...- Active) и упорядочением?

  • Ве мульти брокеров, где все брокеры должны быть активными (без единой точки отказа)
    • Масштабируемость только на две машины , будет вполне достаточно для наших нужд
  • Уметь порядок гарантируем (если один производитель + 1 потребитель)

Мы попытались ActiveMQ 5.14, который, казалось, хорошо для обоих наших требований, но только если рассматривать отдельно:

  • «ActiveMQ: Для того, чтобы обеспечить высокую масштабируемость большого обмена сообщениями ткани обычно требуется, чтобы много брокеров быть объединены вместе в сеть, чтобы вы могли иметь столько клиентов, сколько хотите, все логически соединенные вместе - и запускать столько брокеров сообщений, сколько вам нужно, исходя из вашего количества клиентов и топологии сети. ... Если вы используете топологию типа «клиент/сервер» или «хаб/спид», тогда брокер, к которому вы подключаетесь, становится единственной точкой отказа , что является еще одной причиной желания сети (или кластера) брокеров, чтобы вы могли пережить неудачу любого конкретного брокера, машины или подсети "
  • " Заказ: Общее количество заказов на сообщения не сохраняется с сетями брокеров. Общее упорядочение работает с одним потребителем, но networkBridge вводит второго потребителя. Кроме того, пользователи сетевого моста направляют сообщения через vend.send (..), поэтому они переходят из заголовка очереди в брокером-брокером в хвост очереди на цель. Если отдельный потребитель перемещается между сетевыми брокерами, общий порядок может быть сохранен, если все сообщения, всегда следует за потребителем, но это может быть трудно гарантировать с большими отставаниями сообщений.»

ответ

0

Использованием Kafka, следующее поколение распределяется сообщения, как это легко масштабироваться, обеспечивает высокую пропускную способность, могут сохраняться сообщения на диск и обеспечить упорядоченность.

с Кафки вы можете увеличить число узлов, чтобы арестовать сбой узла. Если вы не можете удалить сообщения передачи JMS, как показано

JMS Producer(s) -> Kafka Cluster -> JMS Subscriber (s)

См. Connection between Apache Kafka and JMS.

+0

Мы пришли к такому же выводу, НО: С Kafka вы не можете использовать JMS Java API, а сама Kafka гарантирует только по крайней мере один, а не один раз. https://kafka.apache.org/08/documentation.html: «... в этот момент мы гарантируем, что сообщение было опубликовано ровно один раз. Мы надеемся добавить это в будущую версию Kafka». –

+0

Существует образец на [ровно один раз] (https://dzone.com/articles/kafka-clients-at-most-once-at-least-once-exactly-o). Ваши наблюдения потрясающие, можете ли вы выделить, где не так с Кафкой? – SACn

+0

Вы не ошибаетесь, и ссылка, которую вы передаете, кажется прекрасной. Речь шла о поиске стандартного решения JMS, которого нет у Кафки. В любом случае, Кафка является лучшим и для наших нужд. –

 Смежные вопросы

  • Нет связанных вопросов^_^