0

想象一下,你有一个有“业务”超时的演员。即使演员所在的服务器死机或重新启动,我也希望启动该超时。我会创建那个持久的演员。

即使单个服务器发生故障,哪种方法可以确保启动超时?

谢谢

4

1 回答 1

1

我会这样设置:

BA => (rqTimeoutMsg) => GDA => TM (waits) => BA => (confirmation) => TM => GDA

BA = 你的商业演员

GDA = 保证交付参与者 (Akka.Persistence)

TM = 超时管理器

BA 向“GDA”发送“超时”请求,后者将其转发给超时管理器。它等到时间 X(我建议使用调度程序)然后将“超时”发送给 BA,BA 应该将其确认回 TM 或直接发送给 GDA。

GDA 和 TM 一起形成了一个持久的 TimeoutManager,因此它们可以/应该被包装在一个 Actor 中,这是 BA 与之交谈的那个(requestTimeout,并且在收到“超时”时,confirmReceptionOfTimeout)。

但是问题:您打算如何确保在(崩溃+)重新启动后 BA 在那里?

于 2016-06-01T17:47:51.873 回答