我对 FIX 只熟悉了几天,我将不胜感激下面的一些指导。
连接到交易所的交易系统能够接受用于交易和市场数据请求目的的 FIX 消息。我正在尝试使用 QuickFix/J 构建一个 FIX Web 平台,该平台将提供给众多客户。
提供了一个 ip 和一个端口来连接到交易系统的网关,并且我已经获得了它们的有效消息标签。
我已经使用 QuickFix/J 构建了一个本地启动器和接受器(独立应用程序不是 Web)来进行测试并在两点之间发送消息(INITIATOR>ACCEPTOR 和 ACCEPTOR>INITIATOR),这工作正常,我明白了(更多/less) 消息应该如何工作。此外,我还尝试了解多个会话是如何工作的,这对我也有好处。(1 个接受者 - 多个发起者)
当谈到我现在需要继续使用网络应用程序时,我真的很困惑。我的问题:
连接到提供的网关时,我需要运行什么才能发送和接收 FIX 消息?发起者或接受者或两者兼而有之?根据我的理解:发起者将被启动并连接到接受者,所以在这种情况下,网关将成为接受者吗?
假设我想向多个客户端提供这个 Web 平台,并且每个连接的客户端在成功登录后都会有一个专用会话。如果接受者是实际的服务器,它如何知道客户端的会话细节?(SenderCompID 和 TargetCompID)
当前架构:
- 用于运行交易系统的专用服务器,FIX 客户端应用程序将连接到该服务器并发送/接收消息
- Web 应用程序将创建与交易系统的会话,并将发送/接收 FIX 消息
- 关于服务器和 Web 应用程序之间通信的建议?我正在考虑使用 activeMQ 在两点之间进行消息交换。这是个好主意吗?
我知道问太多了,但任何意见/建议将不胜感激。
谢谢你。
更新:
- 我对 activeMQ 最大的担忧实际上是会话管理,以及是否可以使用 amq 开发这样的 Web 应用程序以在客户端-amq-交易平台之间发送/接收消息。我没有深入使用 amq 和 quickfix/j,我只是想确定它实际上是可以做到的。
- 基于以上,您认为这种架构可以正常工作吗?建筑学