我正在尝试为我正在研究的中频交易系统选择合适的架构。目前,我从 Web Socket 或 Rest 接收消息并在那里处理它们。有时它包括 IO 操作(即额外的休息请求),所以它工作非常缓慢,我想所有其他消息都在 Web Socket 客户端的实现中得到缓冲。这种幼稚的方法看起来不太可扩展。
我一直在阅读处理交易消息的成熟架构,目前,我的选择已缩小到 Disruptor 和 Reactive 编程。我想征求您的意见,哪个是更好的选择。具体来说,我担心两种情况:
- 消息处理程序之间的逻辑依赖关系。当我连接到特定交易所时,我需要接收余额和未结订单,然后才能处理交易消息并根据它们下订单。在我看来,响应式是处理这种需要流量控制的情况的更好方法。Disruptor 有问题吗?
- 长时间运行的消息处理程序。消息处理程序应该尽可能快(不要阻止以下消息),但是如果我需要发出一个休息请求来创建一个订单作为消息处理程序的一部分,那么正确的方法是什么?