提交 c8007c6e 编写于 作者: 梦境迷离's avatar 梦境迷离

fix 符号,时间:2019-11-04 23:28:19

上级 4bedd85a
...@@ -10,7 +10,7 @@ description: 本章概述了actor消息传递的可靠性的一般性规则 ...@@ -10,7 +10,7 @@ description: 本章概述了actor消息传递的可靠性的一般性规则
{:toc} {:toc}
为了给下面的讨论提供一些上下文,请考虑一个跨越多个网络主机的应用程序。 为了给下面的讨论提供一些上下文,请考虑一个跨越多个网络主机的应用程序。
无论是发送到本地JVM上的参与者还是向远程参与者发送,通信的基本机制是相同的,但是在传递延迟(可能还取决于网络链路的带宽和消息大小)和可靠性方面会有明显的差异。 无论是发送到本地JVM上的参与者还是向远程参与者发送,通信的基本机制是相同的,但是在传递延迟(可能还取决于网络链路的带宽和消息大小)和可靠性方面会有明显的差异。
在远程消息发送的情况下,需要执行更多的步骤,这意味着更多的步骤可能出错。 在远程消息发送的情况下,需要执行更多的步骤,这意味着更多的步骤可能出错。
另一个方面是,本地发送将在同一个JVM中传递对消息的引用,对所发送的底层对象没有任何限制,而远程传输将限制消息大小。 另一个方面是,本地发送将在同一个JVM中传递对消息的引用,对所发送的底层对象没有任何限制,而远程传输将限制消息大小。
...@@ -19,10 +19,10 @@ description: 本章概述了actor消息传递的可靠性的一般性规则 ...@@ -19,10 +19,10 @@ description: 本章概述了actor消息传递的可靠性的一般性规则
#### 一般性规则简述 #### 一般性规则简述
这些是消息发送的规则(即tell或!方法,该方法也是ask(模式)下的规则) 这些是消息发送的规则(即tell或!方法,该方法也是ask(模式)下的规则)
* 最多一次发送,即没有保证发送 * 最多一次发送,即没有保证发送
* 每个(发送方-接收方)对是排序的 * 每个(发送方-接收方)对是排序的
第一个规则通常也可以在其他actor实现中找到,而第二个规则是特定于Akka的。 第一个规则通常也可以在其他actor实现中找到,而第二个规则是特定于Akka的。
...@@ -60,7 +60,7 @@ Akka采用分布式计算,并通过消息传递使通信的错误性变得明 ...@@ -60,7 +60,7 @@ Akka采用分布式计算,并通过消息传递使通信的错误性变得明
#### 讨论:消息排序 #### 讨论:消息排序
更具体地说,规则是对于给定的一对actor,从第一个到第二个直接发送的消息不会被无序接收。这个词直接强调,此保证仅在与Tell运算符一起发送到最终目的地时才适用,而不在使用中介程序或其他消息分发功能时适用(除非另有说明) 更具体地说,规则是对于给定的一对actor,从第一个到第二个直接发送的消息不会被无序接收。这个词直接强调,此保证仅在与Tell运算符一起发送到最终目的地时才适用,而不在使用中介程序或其他消息分发功能时适用(除非另有说明)
保证说明如下: 保证说明如下:
...@@ -76,7 +76,7 @@ Akka采用分布式计算,并通过消息传递使通信的错误性变得明 ...@@ -76,7 +76,7 @@ Akka采用分布式计算,并通过消息传递使通信的错误性变得明
5. A2 can see messages from A1 interleaved with messages from A3 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 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采用分布式计算,并通过消息传递使通信的错误性变得明 ...@@ -85,7 +85,7 @@ Akka采用分布式计算,并通过消息传递使通信的错误性变得明
* Actor B forwards message M2 to actor C * Actor B forwards message M2 to actor C
* Actor C may receive M1 and M2 in any order * 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.
先完成此消息的编辑!
想要评论请 注册