2015-12-07 17 views
0

我有一个问题,需要我的演员按照发送顺序处理消息。在阿卡,演员A和演员B之间的信息总是保证按照发送的顺序到达。这在服务结构中的可靠演员中似乎不是这种情况。在我的测试用例中,消息以非确定性顺序接收。执行演员之间的有序通信

我可以强制排序,直到处理完第一条消息才发送下一条消息,但是这会使整个点失败。我真的想发送和忘记这些消息,但知道他们将按接收演员的顺序进行处理。

有没有人看到过这样做的模式?我认为奥尔良演员有相同的失序消息的可能性。也许奥尔良的解决方案也可以在这里工作。

+0

是什么火,忘记看起来像两个演员之间?两者都是单线程的权利?所以排序自然发生我承担? –

+0

是的,两者都是单线程的,但消息通过Service Fabric基础结构进行路由。如果演员A向演员B(M1,M2,M3)发送三条消息,他们可以由演员B以不同顺序处理,例如M2,M3,M1, –

+0

但是演员A如何不等待就发送M1,M2和M3任何一位?在这种情况下,你正在用线程做一些特殊的事情,对吧?否则,我会假设因为在A可以发送M2之前应该处理M1,这没关系。 –

回答