Spring集成中的故障转移和KeepAlive

时间:2013-09-03 12:29:41

标签: java spring messaging spring-integration gateway

How can I define a failover spring integration gateway?提出的问题类似 我必须实现故障转移功能,但是我的表达方式不同。

我有两个代理:主服务器和辅助服务器以及在PRIMARY或BACKUP模式下在同一服务器上运行的一个服务。使用SYNC队列执行内部数据的同步。

在服务中,我想在Spring Integration中实现以下功能:

  • 每个1Q,2Q,3Q,...,5Q队列都有一个接收器,1SQ队列有一个发送器。接收方和发送方都使用主代理进行操作(已在Spring中使用消息网关实现,发送方为路由器,接收方为服务激活方)。

  • 当收到来自1Q-5Q的消息时,会向1SQ发送新消息(这已经有效)。同时将内部数据的更新发送到SYNC队列。这样,在故障转移的情况下,内部数据结构是同步的。

  • 外部模块向主代理的1Q队列发送附加的KeepAlive消息。如果在N秒后没有收到消息。应启动与二级经纪人合作的新接收方和发送方。这样接收器/发送器就具有主代理的功能。

问题:

显然循环策略不合适。另外,在question中自动选择辅助服务器是不可取的。这就是为什么选择keepAlive消息来检测主代理是否已关闭的原因。是否可以在Spring Integration中使用此功能?更确切地说:

  1. 当主服务器没有收到keepAlive消息时,如何在我的发送者/接收者之间实现主服务器和辅助服务器之间的切换?
  2. 是否可以在启动并再次运行时切换回主服务器?

1 个答案:

答案 0 :(得分:1)

IMO,你得到了Gary Russell对你类似问题的回答:Reply-reponse pattern for primary-backup server