使用actor序列化调用以防止响应消息的顺序错误

时间:2015-01-14 15:10:59

标签: scala akka

假设您有多个正在更新其他系统的前端Web服务器,例如内存缓存服务器

如果每个Web服务器更新内存缓存,您可能有多个Web服务器更新相同的缓存密钥

例如。假设此代码在我们所有的Web服务器中

val cachedValue = memcacheClient.get("someKey123")
if(!cachedValue.isDefined) {
   memcacheClient.put("someKey123", getSOmeThingTOPutInCache("someKey123"))
}

由于此调用未同步,因此您将有多个Web服务器更新相同的密钥。

我想要做的只是向Actor发送一条消息,然后为我更新memcache。

如何创建一个不会使用并行性更新内存缓存的actor?即一次只有一个电话?

这种情况与我猜测的akka​​相反,但它是一个用例,我希望它可以解决。

0 个答案:

没有答案