1
votes

Wanted to put a broader question around about how to best manage a clustered Spring Integration application behind a LB typically a AWS ALB for instance .

  1. Leader Election : This is supported with SI with roles and leader election apis https://docs.spring.io/spring-integration/reference/htmlsingle/#leadership-event-handling and I guess it has good support as per https://docs.spring.io/spring-integration/reference/html/zookeeper.html .
  2. Managing adapters in the cluster . Right now we expose a few rest api's to start stop specific SI adapters/message handlers . But these are typically in each node , is there a way we can somehow register these at a common store and then provide common interfaces to manage and discover them .THis will enable actions to be applied across the whole cluster and discover adapters across all nodes .
  3. Load Balancing Adapters : How to load balance adapters across varioud nodes . This is typically usefull when say we spawn ftp,http,jms adapters dynamically in SI .

Do let me know your thoughts

1

1 Answers

1
votes

Take a look into Spring Cloud Bus project: http://cloud.spring.io/spring-cloud-static/Dalston.SR3/#_spring_cloud_bus:

Spring Cloud Bus links nodes of a distributed system with a lightweight message broker. This can then be used to broadcast state changes (e.g. configuration changes) or other management instructions.