分布式系统交互模型

# 分布式系统交互模型

## 同步模式

客户端发起请求一直阻塞到服务端返回请求为止。普通的HTTP/RPC请求都属于同步模式。适用请求延时短的交互。

 

## 异步模式

客户端发送一个请求给服务端,服务端接收请求后开始处理请求,完成后发送一个消息到callback端点
callback端点可以在客户端/服务端/第三方服务:
(1)客户端,服务端完成操作向客户端callback端点发送回调请求
(2)服务端,服务端完成操作修改状态位,客户端定时向服务端获取回调结果
(3)第三端服务,比如客户端监听zookeeper节点,服务端完成回调请求后修改对应节点,客户端感知结果做回调处理
适用于请求耗时长且业务场景接受结果延时的交互,比如一些客户端的业务任务调用,任务状划分成创建/执行中/成功/失败,为了避免回调超时可以再添加一个定时任务做时间边界控制

 

## 单向模式

客户端只负责发送消息,不等待服务端响应且没有回调函逻辑,即只发送请求不等待应答,适用于对响应效率要求特别高并且不需要数据反馈的场景,比如保存操作日志服务。

 

## 可靠传输模式

借助于消息中心来实现消息的可靠送达,请求消息做持久化存储,在接收方在线时做送达,并通过消息中心保证异常重试
适用于需要保证数据可靠传输的业务场景,比如订单业务、支付业务

 

## 令牌模式

客户端发送一个请求给服务端,服务端立刻返回一个临时令牌给客户端,客户端拿到令牌完成后续流程,服务端处理完成后发送一个消息到callback端点。
适用于请求结果耦合度高且耗时长的交互,比如网络图片的下载,刚开始是通过模糊的图片来代替最后的图片,等下载图片的线程下载完图片后再做替换,而在这个过程中主程序可以做一些其他的事情。还有类似与上游服务依赖于下游服务返回信息做业务逻辑操作,上游先通过临时数据完成主流程来保证接口性能。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值