zoukankan      html  css  js  c++  java
  • dubbo源码

    remote root:
    定义基本网络通信模型:
      endpoint为一个网络节点
      channel为一条通信链路,区分本地和远端。只有发送到通道的操作。
      channelhandler定义channel变化时的处理器,比如通道有数据发送、数据接受、连接通道、断开连接通道时做什么处理
      dispatcher负责对channelhandler类型的分配,根据url里的定义决定使用哪种channelhandler
      transporter抽象底层不同网络通信框架的绑定和连接基本操作
      client基本客户端操作,目前只有重连
      remoteserver基本服务端操作,判断是否绑定和获取和服务端建立连接的channel列表
    transport root:
      定义server和client的基本操作以及多消息、解码消息的channelhandler
    transport dispatcher:
      定义各种不同线程分配策略的channelhandler
    exchange root:
      定义通信的request、response模型:
        exchangechannel可以异步发送请求且获取响应的通道
        exchangeserver定义在exchange层的server,主要表现是跟exchangechannel关联,跟channel没有关系了。
        exchangeclient定义exchange层的client,拥有exchangechannel的请求响应功能。
        exchanger类似于transport层的transporter,只不过exchanger是定义在exchange层,表现为跟exchangeclient和exchagneserver关联,跟client和remoteserver没有关系
        exchangehandler额外定义了replay方法,不知道是有啥用 @todo:

        request定义请求的基本属性

        response定义response基本属性

    exchange support root:

      exchange层需要的辅助类:

         defaultfuture获取异步执行结果的容器类

         exchangehandlerdispatcher封装了transport层的channelhandler、exchangehandler层的replay、telnet handler

    exchange support header:

      exchange层的具体实现:

        headerexchange实现exchange层的绑定和连接

        headerexchangechannel实现exchangechannel的异步消息发送

        abstracttimertask定义异步任务

    buffer:

      定义缓存容器以及基于缓存容器的输入输出流

        channelbuffer定义缓存操作接口

        abstractchannelbuffer定义缓存容器基本属性

        bytebufferbackedchannelbuffer是基于jdk的bytebuffer做的缓存容器

        heapchannelbuffer是基于堆内存的缓存容器

        channelbufferinputstream和channelbufferoutputstream是基于缓存容器的输入输出流

        channelbufferfactrory缓存容器工厂

    以上是remote包api的功能描述,在remote下其他具体通信包有的实现了api里的接口,有的是完全独立的接口,比如netty、netty4、http都是实现了api的接口,但是redis、zookeeper并没有实现接口,不知道这是待优化的点还是就是要这么设计。

    总而言之,remote包是定义通用对外远程请求的基本操作。

          

  • 相关阅读:
    利用正则表达式限制网页表单里的文本框输入内容小结
    实现注册页面中的倒计时功能代码
    asp.net中Response.Write用法小结
    数据库连接字符串
    asp.net中页面延时跳转代码
    C#网络编程socket使用总结
    CSS选择器总结
    C#面向对象三大特性总结
    HTML总结
    ASP.NET页面生命周期
  • 原文地址:https://www.cnblogs.com/caiyao/p/14843104.html
Copyright © 2011-2022 走看看