zoukankan      html  css  js  c++  java
  • 007. 服务间通信 RPC & REST over HTTP(s) & 消息队列

    • 服务间通信

        服务间通信的几种方式: RPC、REST over HTTP(s)、消息队列。

         https://www.jianshu.com/p/2a01d4383d0b

        

    • RPC

        https://blog.csdn.net/weixin_42672054/article/details/81708464#commentBox   创建WebService工程

      1.RPC允许程序调用另一个地址空间的过程或函数,而不需要显式编码这个远程调用的细节。

        在底层去看,RPC其实就是将流从一台计算机传输到另外一台计算机,无论是基于传输协议(http、tcp、udp等等)和网络IO(bio、nio)来实现。

     

      2. RPC的基本特点如下:

    • 通过网络传输的
    • 跨终端、跨平台的
    • 基于请求-响应的
    • 只调用过程,不需关注细节

      

      3.常见的RPC技术

        https://blog.csdn.net/chen213wb/article/details/80330356 

    WebService

    (现在基本不使用)

    跨语言的,基于SOAP协议,基于xml数据或json数据

    SOAP WebService: JAX-WS

    restful WebService:  JAX-RS

    SpringCloud Spring的,基于Socket的,SOA架构的分布式框架  
    Dubbo(x) 阿里巴巴的,基于Socket的,SOA架构的分布式框架  
    Hessian 跨语言的,基于Binary-RPC协议,走二进制数据  
         
    • REST over HTTP(s)

        https://www.jianshu.com/p/b1910c425268  

        REST是一种架构风格,REST规范把所有内容都视为资源,网络上一切皆资源。

        REST并没有创造新的技术,组件或服务,只是使用Web的现有特征和能力。 可以完全通过HTTP协议实现,使用 HTTP 协议处理数据通信

         REST调用及测试都很方便,RPC就显得有点繁琐,但是RPC的效率是毋庸置疑的,所以建议在多系统之间的内部调用采用RPC。对外提供的服务,Rest更加合适。

    •     使用SpringBoot创建 restful 的微服务
    • 消息队列

        通过将微服务连接到集中消息总线来工作,服务之间的通信通过 发送消息/接收消息 来完成。

        

        AMQP(RabbitMQ)

  • 相关阅读:
    BZOJ1969: [Ahoi2005]LANE 航线规划
    BZOJ1800: [Ahoi2009]fly 飞行棋
    BZOJ2661: [BeiJing wc2012]连连看
    BZOJ2464: 中山市选[2009]小明的游戏
    BZOJ2440: [中山市选2011]完全平方数
    BZOJ2226: [Spoj 5971] LCMSum
    Codeforces 610B
    Codeforces 757B
    Codeforces B
    HDU 6090 Rikka with Graph
  • 原文地址:https://www.cnblogs.com/badboyh2o/p/10743520.html
Copyright © 2011-2022 走看看