【发布时间】:2018-01-29 17:34:25
【问题描述】:
我在看编年史,但我不明白一件事。
一个例子 - 我有一个有一个写入者的队列 - 市场数据提供者在它们出现时写入报价数据。 假设队列有 10 个读取器 - 每个读取器是读取新报价的不同交易策略,并可能发送买入或卖出订单,我们将它们命名为 Strategy1 .. Strategy10。 假设有一条规则,我在任何给定时间只能进行一笔交易。
现在的问题 - 据我了解,无法保证这些订阅的读者如何处理 tick 事件的顺序。每个策略都订阅了队列,所以每个策略都会异步获取新的tick。
所以当我第一次运行它时,可能是Strategy1先收到tick并下订单,然后所有其他策略都无法下订单。
如果我要重播相同的事件序列,则可能是不同的策略先处理报价单,然后下订单。
如果使用相同的初始事件序列,这将导致完全不同的结果。
我是不是理解错了,或者这真的是这样吗? 这个问题有哪些可能的解决方案?
我想要实现的是相同的源事件序列(报价)总是产生相同的交易序列。
【问题讨论】: