akka消息传递
2024-08-28 17:49:26
消息传递
消息本身要求是什么?是否必须可以序列化?
消息传递根据传递的要求严格程序依次分为三类,
1.至多一次到达 至消息最多一次传递到目的端,消息可能会丢失,但不会重复
2.至少一次到达 潜在可能存在多次尝试在传送一次消息的时候,这种情况下,消息不会丢失,至少一次
3.有切只有一次到达 表述很明确,消息有且仅有一次被传递到目的端.
Akka采用第一种试,成本最低性能最好.使用它的fire-forget模式不需要保持发送消息的状态.
至少一次的模式,需要考虑到传输丢失,这需要发送端保持发送消息的状态,而且还需要接收端在接收到消息
之后发送确认.
精确一次的模式,这种成本最高,同时性能最差,为了保持至少一次,接收端也需要保持消息的状态,以避免重复.
保证到达还不能是领域层面的保证,因为业务不同,含义也会不同.
所以只有应用程序自己才知道什么是真正的到达,这样才能做到真正含义上的保证.
也正是这个原因,akka把这个保证的任务下放到应用程序自己,你可以控制数据是至少一次到达或精确一次.
最新文章
- Objective-C( Foundation框架 一 NSFileManager)
- oracle和mysql获取当前时间的不同
- linux patch 格式与说明(收录)
- CQOI2009 BZOJ1303 中位数
- VirtualBox从USB设备(PE)启动
- 2014年acm亚洲区域赛·鞍山站
- Java 编程下 Eclipse 如何设置单行代码显示的最大宽度
- [Apache系列]怎样在windows下配置apache vhost
- code forces 148D Bag of mice (概率DP)
- JavaWeb项目架构之NFS文件服务器
- 使用QGIS将文本坐标转换为矢量文件
- 第二章 Java 基本语法1
- 2018-2019-2 网络对抗技术 20165308 Exp3 免杀原理与实践
- 简单JQuery+AJAX+Servlet的计算器实现
- 使用jsencrypt(rsa加密方式)给js加密防被刷
- 2019-4-22 jdbc学习笔记
- day2 二、编程语言、python解释器和变量
- python模块之xlrd
- win10安装tensorflow-gpu
- [Algorithm] Circular buffer