我正在使用 Quickfix/J 来实现 FIX 协议。问题是当应用程序上线时,我们将有两台服务器支持该应用程序。但是,只有一台服务器会启动并运行 FIX 引擎。计划是将 FIX 请求从其他服务器路由到运行 Quickfix 的服务器。两台服务器上的代码完全相同。我被卡住了,因为我需要使服务器足够智能以检查其他服务器是否已经建立了 FIX 连接。如果未建立连接,则此服务器将创建连接。如果连接已经存在,它将保持不变。这将在未来进一步扩展,当一个服务器发现另一个安装了 FIX 的服务器宕机时,它会启动自己的 FIX 引擎。目前,
问问题
1221 次
1 回答
0
一种可能的方法是使用您从交易对手那里收到的心跳消息。如果心跳消息到达,则表示连接已建立,您无需执行任何操作。您打算如何实施该方法是可以解释的。您可以使用消息总线或 2 FIX 引擎之间共享的东西。但这只是一个建议,我在从事 FIX 项目时使用过这种方法。
更新:- 我所做的是在 2 个引擎后面放置一个消息代理,并带有一个控制器。控制器的唯一职责是不断检查心跳消息。当它错过心跳消息时,它将向备用 FIX 引擎发送信号以启动,假设正在运行的 FIX 引擎存在问题。这种架构没有太多复杂性,只有一个额外的组件。但这只是其中一种选择,可能还有很多其他选择。
于 2012-01-30T14:27:42.660 回答