Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
梦境迷离
Cs Summary Reflection
提交
c8007c6e
C
Cs Summary Reflection
项目概览
梦境迷离
/
Cs Summary Reflection
11 个月 前同步成功
通知
4
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
Cs Summary Reflection
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
c8007c6e
编写于
11月 04, 2019
作者:
梦境迷离
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix 符号,时间:2019-11-04 23:28:19
上级
4bedd85a
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
6 addition
and
6 deletion
+6
-6
docs/_posts/2019-10-15-Akka-Actor消息传递的可靠性.md
docs/_posts/2019-10-15-Akka-Actor消息传递的可靠性.md
+6
-6
未找到文件。
docs/_posts/2019-10-15-Akka-Actor消息传递的可靠性.md
浏览文件 @
c8007c6e
...
...
@@ -10,7 +10,7 @@ description: 本章概述了actor消息传递的可靠性的一般性规则
{:toc}
为了给下面的讨论提供一些上下文,请考虑一个跨越多个网络主机的应用程序。
无论是发送到本地JVM上的参与者还是向远程参与者发送,通信的基本机制是相同的,但是在传递延迟
(可能还取决于网络链路的带宽和消息大小)
和可靠性方面会有明显的差异。
无论是发送到本地JVM上的参与者还是向远程参与者发送,通信的基本机制是相同的,但是在传递延迟
(可能还取决于网络链路的带宽和消息大小)
和可靠性方面会有明显的差异。
在远程消息发送的情况下,需要执行更多的步骤,这意味着更多的步骤可能出错。
另一个方面是,本地发送将在同一个JVM中传递对消息的引用,对所发送的底层对象没有任何限制,而远程传输将限制消息大小。
...
...
@@ -19,10 +19,10 @@ description: 本章概述了actor消息传递的可靠性的一般性规则
#### 一般性规则简述
这些是消息发送的规则
(即tell或!方法,该方法也是ask(模式)下的规则)
:
这些是消息发送的规则
(即tell或!方法,该方法也是ask(模式)下的规则)
:
*
最多一次发送,即没有保证发送
*
每个
(发送方-接收方)
对是排序的
*
每个
(发送方-接收方)
对是排序的
第一个规则通常也可以在其他actor实现中找到,而第二个规则是特定于Akka的。
...
...
@@ -60,7 +60,7 @@ Akka采用分布式计算,并通过消息传递使通信的错误性变得明
#### 讨论:消息排序
更具体地说,规则是对于给定的一对actor,从第一个到第二个直接发送的消息不会被无序接收。这个词直接强调,此保证仅在与Tell运算符一起发送到最终目的地时才适用,而不在使用中介程序或其他消息分发功能时适用
(除非另有说明)
。
更具体地说,规则是对于给定的一对actor,从第一个到第二个直接发送的消息不会被无序接收。这个词直接强调,此保证仅在与Tell运算符一起发送到最终目的地时才适用,而不在使用中介程序或其他消息分发功能时适用
(除非另有说明)
。
保证说明如下:
...
...
@@ -76,7 +76,7 @@ Akka采用分布式计算,并通过消息传递使通信的错误性变得明
5.
A2 can see messages from A1 interleaved with messages from A3
6.
Since there is no guaranteed delivery, any of the messages may be dropped, i.e. not arrive at A2
如果邮箱实现不遵守FIFO顺序
(例如PriorityMailbox)
,则actor的处理顺序会偏离排队顺序。
如果邮箱实现不遵守FIFO顺序
(例如PriorityMailbox)
,则actor的处理顺序会偏离排队顺序。
但请注意,这一规则不具有传递性:
...
...
@@ -85,7 +85,7 @@ Akka采用分布式计算,并通过消息传递使通信的错误性变得明
*
Actor B forwards message M2 to actor C
*
Actor C may receive M1 and M2 in any order
这意味着M2不会被在M1被actor C收到之前被接收到
(尽管其中任何一个都可能丢失)
。当A、B和C在不同的网络主机上时,由于消息传递延迟不同,此顺序可能会被违反,请参阅下面的更多信息。
这意味着M2不会被在M1被actor C收到之前被接收到
(尽管其中任何一个都可能丢失)
。当A、B和C在不同的网络主机上时,由于消息传递延迟不同,此顺序可能会被违反,请参阅下面的更多信息。
#### 失败的通信
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录