您当前的位置:首页 > 美文摘抄 > 内容

进程间通信(进程间的通信方式三种)

进程间通信(进程间的通信方式三种)

概述

服务内部通信主要分为两类:

    基于同步请求/响应的通信,例如:REST,gRPC等

    基于异步消息的通信,例如:AMQP,STOMP等

    通信方式有两类:

    第一类:

      1对1通信

      1对多通信

      第二类:

        同步通信

        异步通信

        1对1通信实现:

          请求/响应通信

          异步请求响应

          单向通知

          1对多通信实现:

            发布订阅

            发布/异步响应

            消息格式

            进程间通信对本质是消息对交互。

            消息格式有两类:文本消息和二进制消息。

            文本格式:JSON,XML

            二进制格式:Avro,Protobuf,Thrift

            跨编程语言消息格式传递对使用是非常重要对,所以Java序列化方式不是一种好的选择。

            RPC

            Remote Procedure Call 像调用本地方法一样调用远程服务

              在客户端的业务逻辑中,调用远程提供者的代理接口。

              提供者代理会通过网络传输将数据发送到接口服务端,服务端收到消息进行业务逻辑处理。

              服务端执行完毕后将结果通过代理发送给客户端,客户端收到调用结果。

              REST

              REST是一种规范,而不是协议。REST通常是使用HTTP协议。

              REST中的一个关键概念是资源,通常表示一个业务实体,比如:用户,订单,或者是对象的集合。

              REST调用HTTP接口有一定的规范, 比如:

              POST /user : 创建用户

              PUT /user : 修改用户信息

              GET /users: 获取用户列表

              GET /user/{userId} : 获取指定的用户信息

              服务发现

              服务发现有两种:静态发现和动态发现。

              静态发现是指知道对方的地址,运行时地址是固定的,直接通过地址就可以发现服务。

              动态发现是指服务提供者是动态扩展的(增缩),运行指根据具体策略才能获取到对应的服务提供者。

              动态服务发现:

              动态服务发现一般有两种实现:

                服务注册:需要一个注册中心,服务提供者启动时注册到注册中心,服务消费者从注册中心获取服务列表

                通过部署平台,比如:Kubernetes

                异步消息

                基于消息通信的应用程序通常使用消息代理(Message Broker),这种代理在各个服务间作为一种中介存在。

                这种模式一般是发送者发送消息到指定的通道(Channel),消费者(要收到消息的对象)从通道中读取。

                一个消息是由头部(header)和内容(body)组成。头部是key-value集合组成,一般也包括消息的唯一ID。

                消息的类型:

                  Document

                  Command

                  Event

                  通道(Channel)

                  消息是通过通道进行交换的。

                  通道一般有两种:

                    点对点通道

                    发布订阅通道

                    异步消息的实现

                    1.异步请求响应


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: 阙怎么读音(煜怎么读音)

下一篇: 海参的吃法与做法(海参的简单最佳吃法)



推荐阅读

网站内容来自网络,如有侵权请联系我们,立即删除! | 软文发布 | 粤ICP备2021106084号