【发布时间】:2013-12-21 23:52:17
【问题描述】:
我们有一个使用 Disruptor 框架的系统,它有五个注册阶段实现 EvenetHandler。
每个阶段都是按顺序工作的,所以一个请求只有在第一个阶段完成后才能移动到第二个阶段,这个移动由 Disruptor 内部维护。
我们在第三阶段遇到了问题,这是一个需要大量时间的瓶颈,因为它会进行不同的 HTTP 调用并将响应存储在请求对象中。
因此,在第三阶段花费了一段时间后,我们希望将请求(无论它有什么响应)推进到第四和第五阶段。
如何使任何特定阶段(在本例中为第三阶段)超时并强制将请求移至下一阶段?
或者,
有没有办法注册一些在定义的超时后触发的事件,这可能类似于系统级超时?
【问题讨论】:
标签: multithreading disruptor-pattern lmax