Recap

Last week, we talked about

🞑Data Replication.

🞑Distributed Transactions.

🞑Distributed Database Management Systems (DDBMS).

2

Today, let’s talk about

◻Server-client exchange protocols

◻Remote Invocation

◻Remote Procedural Call

◻Remote Method Invocation

◻Touch on REST and SOAP

3

Three styles of Server-Client Exchange Protocols

这张表格展示了服务器-客户端(Server-Client)交换协议的三种不同风格,详细解释了每种协议中客户端与服务器之间消息的交互方式。以下是对这三种风格的详细解读:

表格内容简介

三种服务器-客户端交换协议风格

  1. R(Request)
    • 客户端发送请求(Request)
      • 在这种风格下,**客户端(Client)服务器(Server)**发送一个请求。
      • 服务器在收到请求后执行相关操作,并返回一个结果给客户端。
      • 消息交互流程
        • 客户端发送 请求消息
    • 特点
      • 这种协议是最简单的,客户端只需要发送请求,而服务器处理后返回相应结果。
      • 适合那些不需要复杂确认的简单查询操作,比如获取一些静态信息。
  2. RR(Request-Reply)
    • 客户端发送请求,服务器回复响应(Reply)
      • 在这种风格下,客户端发送一个请求,服务器接收到请求后处理,并返回一个**响应(Reply)**给客户端。
    • 消息交互流程
      • 客户端发送 请求消息
      • 服务器在收到请求后,执行操作并发送回复消息
    • 特点
      • 请求-响应协议适用于需要确认服务器已经收到并处理请求的场景。
      • 在这种模式下,客户端可以确保服务器已经成功地处理了它的请求。
      • 这种方式广泛应用于需要双向确认的通信场景,例如用户登录验证或数据库查询等操作。
  3. RRA(Request-Reply-Acknowledge)
    • 客户端发送请求,服务器回复,客户端确认响应(Acknowledge)
      • 在这种风格下,客户端首先发送一个请求,服务器收到请求后进行处理并返回一个响应。接下来,客户端会在收到响应后发送一个**确认(Acknowledge)**消息,表示它已经成功接收并理解了服务器的响应。
    • 消息交互流程
      • 客户端发送 请求消息
      • 服务器收到请求后,执行操作并发送回复消息
      • 客户端收到服务器的回复后,发送一个确认消息,表示收到并处理了服务器的回复。
    • 特点
      • 请求-响应-确认协议用于需要确保通信过程中的每一步都成功完成的场景。每一方都需要对其收到的消息进行确认。
      • 这种模式增加了一层安全性和可靠性,因为每个步骤都有确认消息,确保不会因为丢包或网络问题导致信息缺失。
      • 适合那些需要高可靠性的系统,例如金融交易系统或重要数据的更新场景。

总结

不同的协议风格适用于不同的场景,依据实际应用需求的复杂程度、可靠性要求和确认机制的需求选择适当的协议。

4

Three styles of Server-Client Exchange Protocols

R: no value needs to be returned from server - no confirmation required.