akka消息传递

Posted 我的空中楼阁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了akka消息传递相关的知识,希望对你有一定的参考价值。

消息传递 
消息本身要求是什么?是否必须可以序列化?
消息传递根据传递的要求严格程序依次分为三类,
1.至多一次到达 至消息最多一次传递到目的端,消息可能会丢失,但不会重复
2.至少一次到达 潜在可能存在多次尝试在传送一次消息的时候,这种情况下,消息不会丢失,至少一次
3.有切只有一次到达 表述很明确,消息有且仅有一次被传递到目的端.
Akka采用第一种试,成本最低性能最好.使用它的fire-forget模式不需要保持发送消息的状态.
至少一次的模式,需要考虑到传输丢失,这需要发送端保持发送消息的状态,而且还需要接收端在接收到消息
之后发送确认.
精确一次的模式,这种成本最高,同时性能最差,为了保持至少一次,接收端也需要保持消息的状态,以避免重复.
保证到达还不能是领域层面的保证,因为业务不同,含义也会不同.
所以只有应用程序自己才知道什么是真正的到达,这样才能做到真正含义上的保证.
也正是这个原因,akka把这个保证的任务下放到应用程序自己,你可以控制数据是至少一次到达或精确一次.

以上是关于akka消息传递的主要内容,如果未能解决你的问题,请参考以下文章

(转)Akka学习笔记

AkkaAkka 传递消息

Akka 基础概念

[scala] akka actor编程

Akka(15): 持久化模式:AtLeastOnceDelivery-消息保证送达模式

Akka源码分析-Persistence-AtLeastOnceDelivery