是不是如果采用阻塞方式的话,比如有一个Actor发生阻塞,那与之关联的其它Actor为了等待任务的完成也会发生阻塞。因为Actor组成的网络结构是动态的,并没有一个预定的结构,因此会导致两个结果:
1、为了完成任务,被动阻塞的Actor新建Actor导致网络野蛮生长。
2、或者Actor的阻塞发生链式反应,最终导致整个系统可用性大幅下降。
异步方式就是为了解耦各个Actor,如果采用阻塞的模型,就与这个初衷南辕北辙了吧。
另外,感觉Actor模型和高并发网络编程中的reactor模型很像,虽然reactor模型不是分布式的,但是思路很像。
展开