9797\begin {frame }[fragile]
9898 \frametitle {可靠的通信层}
9999 % \framesubtitle{xxxx}
100- 问题:发送方如何知道接收方实际收到了消息?
100+ 问题:发送方如何知道接收方实际收到了消息? \pause
101101 \begin {itemize }
102102 \item 确认(acknowledgment),或简称为ack
103103 \item 发送方向接收方发送消息,接收方然后发回短消息确认收到
112112\begin {frame }[fragile]
113113 \frametitle {可靠的通信层}
114114 % \framesubtitle{xxxx}
115- 问题:如果没有收到确认,发送方应该怎么办?
115+ 问题:如果没有收到确认,发送方应该怎么办?\pause
116116 \begin {itemize }
117117 \item 额外的机制,称为超时(timeout) + 重试(retry)
118118 \item 当发送方发送消息后,如在一定时间内未收到确认,则断定该消息已丢失
130130\begin {frame }[fragile]
131131 \frametitle {可靠的通信层}
132132 % \framesubtitle{xxxx}
133- 问题:如果没有收到确认,发送方应该怎么办?
133+ 问题:如果没有收到确认,发送方应该怎么办?\pause
134134 \begin {itemize }
135135 \item 额外的机制,称为超时(timeout) + 重试(retry)
136136 \item 当发送方发送消息后,如在一定时间内未收到确认,则断定该消息已丢失
148148\begin {frame }[fragile]
149149 \frametitle {可靠的通信层}
150150 % \framesubtitle{xxxx}
151- 问题:如何保证接收方每个消息只接收一次(exactly once)?
151+ 问题:如何保证接收方每个消息只接收一次(exactly once)?\pause
152152 \begin {itemize }
153153 \item 发送方可以为每条消息生成唯一的ID,接收方可以追踪它所见过的每个ID
154154 \item 顺序计数器(sequence counter)
@@ -186,7 +186,7 @@ \subsection{通信抽象} % A subsection can be created just before a set of sli
186186 % \framesubtitle{xxxx}
187187 问题:有了基本的消息传递层,在构建分布式系统时,应该使用什么抽象通信?
188188 \begin {itemize }
189- \item 操作系统抽象:分布式共享内存(Distributed Shared Memory,DSM)
189+ \item 操作系统抽象:分布式共享内存(Distributed Shared Memory,DSM)\pause
190190 \begin {itemize }
191191 \item 使不同机器上的进程能够共享一个大的虚拟地址空间
192192 \item 通过操作系统的虚拟内存系统来实现
@@ -208,7 +208,7 @@ \subsection{通信抽象} % A subsection can be created just before a set of sli
208208 % \framesubtitle{xxxx}
209209 问题:有了基本的消息传递层,在构建分布式系统时,应该使用什么抽象通信?
210210 \begin {itemize }
211- \item 编程语言(PL)抽象:远程过程调用(Remote Procedure Call),或简称RPC
211+ \item 编程语言(PL)抽象:远程过程调用(Remote Procedure Call),或简称RPC \pause
212212 \begin {itemize }
213213 \item 目标:使在远程机器上执行代码的过程像调用本地函数一样简单直接。
214214 \item RPC系统通常有两部分:存根生成器(stub generator,有时称为协议编译器,protocol compiler)和运行时库(run-time library)。
0 commit comments