Dubbo

作者: __y | 来源:发表于2021-02-26 00:26 被阅读0次

    Dubbo简介

    Dubbo是Alibaba提供的一款分布式服务治理框架。
    其中主要的流程如下

    image.png
    消费者
    • 动态代理:生成需要调用的接口;
    • Cluster:集群,其实就是从注册中心获取到服务列表;
    • LoadBalance:从上面的服务列表中选取一个服务提供者;
    • Protocol:协议层,就是说整个系统中,咱们对话的话需要怎么交流,可以理解为语言;
      比如说【单纯举例子,不一定是样子】:
      http协议有可能是这样子http://DemoService/sayHello?name="Dubbo"。
      Rmi:interface=DemoService,method=hello,param1 = name...
    • Exchange:经过协议的封装,再封装成Request请求
    • 网络通信层:通过Netty传输(主流),速度非常快,原理是NIO
    • 序列化:序列化成二进制进行网络传输
      消费者
    • Server:监听有没有请求;
    • 反序列化:将二进制反序列化成Request对象;
    • 协议层:选择一种协议解析数据;
    • 动态代理生成对象:比如说咱们DemoService的Impl。就是生成这个玩意,然后执行sayHello方法。

    Dubbo网络底层通信原理

    主要有以下几个角色,Netty;

    • Selector:负责监听Channel
    • Processor线程:工作中的线程,如果有请求指令会生成此线程;
    • ServerSocketChannel:负责监听端口号,然后对于不同的请求生成不同的channel;
    • Acceptor线程:比较特殊的Selector,负责轮询监听ServerSocketChannel有没有新的请求指令;
    image.png

    相关文章

      网友评论

          本文标题:Dubbo

          本文链接:https://www.haomeiwen.com/subject/yxspfltx.html