How to build highly available topic subscribers

9/6/2018

I am looking for solutions how we can build a highly available AMQ Topic subscribers.

Scenario: Given that I have an AMQ broker with failover nodes, and I have two services subscribed to Topic 1 and Topic 2 respectively. Is there a easy way to make each subscribers redundant? Something like active/passive subscribers? Than when an instance failed, system will continue to work though at reduced throughput?

I am looking if Docker Swarm can do this but it doesn't seem to be fitting as its best suited for microservices receiving web requests.

Solutions I have considered:

  1. Setup VM vSphere with HA where I have two nodes hosting 1 TopicSubscriber. This is ridiculously expensive setup IMO.
  2. Deploy as container in docker swarm with replica = 3. Each message needs to be validated by each instance if the event has already been processed by the other nodes.
  3. Find a leader-election way like Zookeper. Sounds like a lot of work and plumbing.

enter image description here Appreciate your input. Is this possible with Docker Swarm or Kubernetes? TIA/RD.

-- rdagumampan
activemq
architecture
docker
kubernetes

0 Answers