强制Akka网络形状

时间:2016-06-01 14:50:43

标签: akka akka-cluster

我试图在Akka(akka-cluster)中快速,最直接地展示Split Brain。

为了做到这一点,我想要3个节点进程,但是其中2个应该只使用中间的进程相互通信,所以当我杀死它时会出现分裂。它应该如下所示: 的

1--2--3

并且杀死2使得1和3无法通信并且Split Brain Resolver处理它。

或者是否有更简单的方法来展示Split Brain的简单场景以及Akka Split Brain Resolver如何处理它们?

1 个答案:

答案 0 :(得分:0)

我没有使用过Split Brain Resolver,显然是因为它是一个高级功能:)。但是,根据描述,解析器也会激活超时工作。那么,为什么在收到某个消息时实际上不会阻止actor 2。因此,将其设置为睡眠(使用@Component({ template: ` <div> <h2>NgModel Example</h2> <div *ngFor="let input of inputList"> {{ input.label }} <input type="text" [(ngModel)]="input.bindTo"> </div> </div> <p>This is not working: {{customerInfo.name}}, {{customerInfo.email}}</p> `, directives: [...] }) export class AppComponent { inputList = [ { label: "Enter your name", bindTo: this.customerInfo.name // also tried 'customerInfo.name' }, { label: "Enter your email", bindTo: this.customerInfo.email } ] customerInfo = { name: 'test', email: '' } } )一两分钟。这可能被视为失败(再次,直觉)。

另一个想法是在你的actor中抛出某种异常,并使用Thread.sleep处理程序处理它,将OneForOneStrategy映射到Throwable指令。