Статьи

Шаблон Claimcheck с использованием Spring Integration и Gemfire

Вступление

Для людей, которые спешат, вот
код и шаги для выполнения . Также обратитесь к моему блогу на
издателя / подписчика с использованием Spring Integration и Gemfire в качестве ESB .

В архитектуре Enterprise Service Bus (ESB) «служебная шина» станет узким местом в течение определенного периода времени. В типичном ESB вы пишете в шину, и многие абоненты читают из шины. Gemfire может помочь ESB добиться распределенного кэширования благодаря мощной магистрали распределенного кэширования в памяти. Модель Claimcheck является Enterprise Integration шаблон , в котором компонент Publisher может опубликовать большую полезную нагрузку в кэш Gemfire, то GUID ключ генерируется для этой полезной нагрузки и помещенного на тему. Подписчик в шаблоне Claimcheck будет прослушивать тему для этого ключа и получать полезную нагрузку от Gemfire. Диаграмма потока данных выглядит следующим образом:

Весенняя интеграция Gemfire Claimcheck Pattern

Весенняя интеграция Gemfire Claimcheck Pattern

Шаблон Claimcheck с использованием Spring Integration и Gemfire

Есть много хороших примеров от Дэвида Турански из Github для изучения Spring Integration с Gemfire. В этом прототипе я построил простой реплицированный региональный сервер, основанный на идее из базового примера \ replicated-cs из примеров Дэвида. Чтобы запустить этот прототип, загрузите и установите Activemq, запустите ActiveMq и создайте раздел под названием «MyTopic». После этого запустите реплицированный сервер Gemfire, как показано ниже.

cd gemfire-server
mvn package
mvn exec:java -Dexec.mainClass="org.springframework.data.gemfire.examples.Server"

Теперь Maven импортирует проектteecheck-subscriber в STE IDE и запускает экземпляр tomcat, нажав «Запустить на сервере» в этом проекте. Абонент начнет слушать сообщения / GUID в теме «MyTopic»

Наконец, опубликуйте полезную нагрузку XML в кеше Gemfire, выполнив следующую команду:

cd claimcheck-publisher
mvn test

В консоли сервера Tomcat вы увидите сообщение ниже

[Headers={timestamp=1348935448580, id=77480754-a4d8-4bc4-a529-26c9e26a7724, jms_timestamp=1348935447237, jms_redelivered=false, jms_messageId=ID:krishna-PC-62975-1348935446968-1:1:1:1:1}]
29 Sep 2012 12:17:28,702[topicContainer-1] DEBUG: com.goSmarter.gemfire.claimcheckpattern.ServiceActivator - ### PAYLOAD ###<!--?xml version="1.0" encoding="UTF-8"?-->

goSmarter

Вывод

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

  • каждый подписчик делает частичную проверку полезных нагрузок от Gemfire.
  • также необходимо иметь способ работать в кластерной среде.
  • Реализация распределения кэширования

Я надеюсь, что этот пример помог вам.