【问题标题】:failover support in spring-integrationspring-integration 中的故障转移支持
【发布时间】:2014-08-21 05:24:18
【问题描述】:

我有一个弹簧集成过程,用于以近乎实时的预期集成两个系统。 我需要为此建立一个可以在同一台或另一台机器上运行的故障转移过程。 在 spring-integration 中是否有对此的内置支持? 如果没有,一些实现这一点的想法将非常有帮助。 我正在考虑消息通道上的某种心跳消息,如果它们没有在规定的时间范围内到达,请激活工作流,但我不知道如何在 spring-integration 中实现这些。

【问题讨论】:

    标签: spring-integration


    【解决方案1】:

    您需要提供更多详细信息 - 通信类型等,但通常是的,它可以配置为故障转移 - 默认情况下,DirectChannel 在消费者之间使用循环分发,但您可以使用调度程序对其进行配置有load-balancer="NONE"。然后它将始终尝试第一个消费者并在失败时故障转移到第二个消费者。您还可以为第一个使用者配置断路器建议,以便我们快速失败(在一段时间内)并且只偶尔重试第一个使用者。

    正如我所说,如果您能提供更多关于您的实际需求的详细信息,我们可以提供更具体的答案。

    【讨论】:

    • 我有一个 SI 进程(进程 1),它轮询数据库并一直处理行以通过 SOAP 调用将它们发送到另一个系统。效果很好。我想将它部署到另一台机器(进程 2),它应该作为备份进程工作。无论出于何种原因,如果进程 1 停止处理,进程 2 就会开始执行该工作,否则它应该保持休眠状态。
    • 这有点复杂(我们可以使用上述技术轻松地故障转移到备份 SOAP 系统)。您可以使用Spring XD 来部署您的应用程序;如果失败,它将自动处理启动一个新实例。我们在Spring One a few years ago - video here - code and slides here 提供了一个旧解决方案,但现在有点过时了,XD 是要走的路。
    猜你喜欢
    • 1970-01-01
    • 2017-09-10
    • 2015-10-31
    • 2021-10-13
    • 2011-09-12
    • 2012-03-28
    • 1970-01-01
    • 1970-01-01
    • 2016-01-03
    相关资源
    最近更新 更多