zoukankan      html  css  js  c++  java
  • dubbo支持的协议以及底层实现机制

    协议   底层实现 协议特点 序列化组件 性能
    dubbo  dubbo(参照代码Codec2接口及相关实现,目前dubbo中只有dubbo协议是自主实现,其他都是依赖第三方框架)

    1. 协议头里记录序列化组件ID来决定客户端和服务端按照什么方式来编解码,请求ID对于response的解码从本地取该response对应的invocation来做解码。对于request则会在请求头里记录参数类型来做解码。

    2. 底层是直接使用netty做tcp通信。

    3. 仅支持java语言

    可选。

    avro、fastjson、fst、gson、hessian2、jdk、kryo、msgpack、native-hession、protobuf、protostuff

    根据选择的底层序列化组件有关 
    grpc grpc-netty

     https://github.com/grpc/grpc/blob/fd3bd70939fb4239639fbd26143ec416366e4157/doc/PROTOCOL-HTTP2.md。

    1. 在使用之前需要先生成代码。

    2. 底层基于http2实现网络通信

    3. 跨语言

     默认为 protobuf  根据选择的底层序列化组件有关 
    hassian   hassian

    底层基于http,利用hassian做序列反序列化

       

     rpc框架比较: https://blog.csdn.net/zl_StepByStep/article/details/89303881

    dubbo: dubbo
    grpc: grpc-netty
    hessian:hassian(caucho) http
    http: json-rpc(https://github.com/briandilley/jsonrpc4j) http
    injvm: 直接调用对象
    memcached: xmemcached 只支持memcached调用 tcp
    native-thrift: libthrift
    redis:jedis
    rest: servlet/jetty/tomcat: resteasy; netty:resteasy-netty
    rmi:spring
    thrift:废弃
    webservice: 服务基于http(内嵌tomcat/jetty..),协议基于cxf-rt-frontend-simple
    xml: xmlrpc-server

  • 相关阅读:
    1436 孪生素数 2
    1702 素数判定 2
    第五章 Spring3.0 、Hibernate3.3与Struts2的整合 基于Annotation
    逻辑服务器和数据缓存服务器交互方式整理
    Solr学习(2) Solr4.2.0+IK Analyzer 2012
    hdu4288 Coder
    解决Robotium测试用例crash问题
    FineUI_动态绑定Grid
    Protection 5 ---- Priviliege Level Checking 2
    用户权限管理
  • 原文地址:https://www.cnblogs.com/caiyao/p/14974292.html
Copyright © 2011-2022 走看看