• 客户端与服务端通信的交互模式


    客户端和服务器之间有很多的交互模式,我们可以从两个维度进行归类:

    维度一:一对一还是一对多

    • 一对一:每个客户端请求有一个服务实例来响应。
    • 一对多:每个客户端请求有多个服务实例来响应

    维度二:交互是同步还是异步

    • 同步模式:客户端请求需要服务端即时响应,甚至可能由于等待而阻塞。
    • 异步模式:客户端请求不会阻塞进程,服务端的响应可以是非即时的。

    一对一交互模式常见方式:

    • 请求/响应:一个客户端向服务器端发起请求,等待响应。客户端期望此响应即时到达。在一个基于线程的应用中,等待过程可能造成线程阻塞。
    • 通知(也就是常说的单向请求):一个客户端请求发送到服务端,但是并不期望服务端响应。
    • 请求/异步响应:客户端发送请求到服务端,服务端异步响应请求。客户端不会阻塞,而且被设计成默认响应不会立刻到达。

    一对多交互模式常见方式:

    • 发布/ 订阅模式:客户端发布通知消息,被零个或者多个感兴趣的服务消费。
    • 发布/异步响应模式:客户端发布请求消息,然后等待从感兴趣服务发回的响应。

    定义API:

    如果使用消息机制,API则由消息频道(channel)和消息类型构成;如果选择使用HTTP机制,API则由URL和请求、响应格式构成。

  • 相关阅读:
    Vue2 后台管理系统解决方案
    vuejs 和 element 搭建的一个后台管理界面
    Composer 是什么
    解决无限 This file is indented with tabs instead of 4 spaces
    (七)boost库之单例类
    (六)boost库之内存管理shared_ptr
    (五)boost库之随机数random
    (四)boost库之正则表达式regex
    (二)boost库之字符串格式化
    (一)boost库之日期、时间
  • 原文地址:https://www.cnblogs.com/me1105/p/14827605.html
Copyright © 2020-2023  润新知