Вступление
Для людей, которые спешат, вот
код и шаги для выполнения . Также обратитесь к моему блогу на
издателя / подписчика с использованием Spring Integration и Gemfire в качестве ESB .
В архитектуре Enterprise Service Bus (ESB) «служебная шина» станет узким местом в течение определенного периода времени. В типичном ESB вы пишете в шину, и многие абоненты читают из шины. Gemfire может помочь ESB добиться распределенного кэширования благодаря мощной магистрали распределенного кэширования в памяти. Модель Claimcheck является Enterprise Integration шаблон , в котором компонент Publisher может опубликовать большую полезную нагрузку в кэш Gemfire, то GUID ключ генерируется для этой полезной нагрузки и помещенного на тему. Подписчик в шаблоне Claimcheck будет прослушивать тему для этого ключа и получать полезную нагрузку от Gemfire. Диаграмма потока данных выглядит следующим образом:
Шаблон 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.
- также необходимо иметь способ работать в кластерной среде.
- Реализация распределения кэширования
Я надеюсь, что этот пример помог вам.