集成到Spring或者java应用程序
集成到Spring应用
常用模式
限制消息
"一个消息节流器以确保消息不会以太高的速率发送。"
该模式详见在Akka2中做消息限流。
跨节点平衡负载
"很多时候,人们需要BalancingDispatcher的功能中包含在不同节点上拥有独立邮箱的Actor工作的规则。在这篇文章我们将探索实现这样一个概念。"
该模式详见Akka2跨节点负载均衡。
工作拉取模式来限流和分发工作,并防止邮箱溢出
"如果创建工作的速度实际上比执行它块,这种模式可以确保你的邮箱不会溢出 —— 当邮箱最终变得太满时这会导致内存溢出错误。它也让你围绕你的群集分配工作,动态地扩展规模,并且是完全无阻塞的。这是‘负载均衡模式’的一个特例。
该模式详见工作拉取模式来限流和分发工作,并防止邮箱溢出。
有序终止
"当一个actor停止时,它的子actor以未知顺序停止。子actor终止是异步的,因而是不确定的。
如果actor的孩子有顺序依赖关系,则你可能需要确保这些子actor以特定顺序关闭,从而使其postStop() 方法按正确顺序调用。"
该模式详见一种Akka2终止器。
Akka2 关闭模式
"当一切都结束时你如何告诉Akka关闭ActorSystem?原来竟然没有这样一个神奇的标志,没有配置设置,没有可以注册特殊回调的地方,也没有杰出的关机童话仙子用她的荣光在那完美的一刻恩典你的应用程序。她就是很普通刻薄。
在这篇文章中,我们将讨论为什么是这种情况,并为你提供一个简单的选项"在正确的时间"关闭,以及一个并不是-那么-简单-的选项来达到同样的目的。"
该模式详见Akka2 关闭模式。
Akka分布式(内存中)图处理
"图在数学和计算机科学(以及其他领域)中一直是一个有趣的研究结构,而且在社交网络如Facebook和Twitter中变得更加有趣,其底层网络结构可以很好地由图来描述"。
该模式详见Akka分布式(内存中)图处理。
案例研究:使用actor自动更新缓存
"我们最近需要在一个缓慢的后端系统前构建一个高速缓存系统,并符合下列要求:
后端系统中的数据是不断更新的,所以需要每隔N分钟更新缓存。对后端系统的直接请求需要被限流。我们建立的缓存系统使用了Akka actor和 Scala 中函数作为头等对象的支持。"
该模式详见案例研究:使用actor自动更新缓存。
使用蜘蛛模式在actor系统中发现消息流
"构建actor系统是有趣的,可是调试它们可能很困难,你大多情况下需要在多个机器中浏览大量日志文件,来了解到底发生了什么。我敢肯定你在啃日志时会想,“嘿,这个消息跑哪了?”,“为什么这个消息引起这种效果”或“为什么这个actor永远得不到消息?”
这是蜘蛛模式的进来。"
该模式详见使用蜘蛛模式在actor系统中发现消息流。