【发布时间】:2014-08-21 05:24:18
【问题描述】:
我有一个弹簧集成过程,用于以近乎实时的预期集成两个系统。 我需要为此建立一个可以在同一台或另一台机器上运行的故障转移过程。 在 spring-integration 中是否有对此的内置支持? 如果没有,一些实现这一点的想法将非常有帮助。 我正在考虑消息通道上的某种心跳消息,如果它们没有在规定的时间范围内到达,请激活工作流,但我不知道如何在 spring-integration 中实现这些。
【问题讨论】:
我有一个弹簧集成过程,用于以近乎实时的预期集成两个系统。 我需要为此建立一个可以在同一台或另一台机器上运行的故障转移过程。 在 spring-integration 中是否有对此的内置支持? 如果没有,一些实现这一点的想法将非常有帮助。 我正在考虑消息通道上的某种心跳消息,如果它们没有在规定的时间范围内到达,请激活工作流,但我不知道如何在 spring-integration 中实现这些。
【问题讨论】:
您需要提供更多详细信息 - 通信类型等,但通常是的,它可以配置为故障转移 - 默认情况下,DirectChannel 在消费者之间使用循环分发,但您可以使用调度程序对其进行配置有load-balancer="NONE"。然后它将始终尝试第一个消费者并在失败时故障转移到第二个消费者。您还可以为第一个使用者配置断路器建议,以便我们快速失败(在一段时间内)并且只偶尔重试第一个使用者。
正如我所说,如果您能提供更多关于您的实际需求的详细信息,我们可以提供更具体的答案。
【讨论】: