• RPC框架分析


    RPC框架分析

    常用的框架

    .net(WCF)  .net中分布式框架集大成者,提供多种通信方式,多种安全策略的调用(配置繁琐)。

    java

    1、RMI JDK原生(严格的说来算不上框架)。

    2、Dubbo  阿里系,服务治理功能强大,开源以来被众多大型互联网公司使用,比如JD(JD还开源了Hydra - 基于Dubbo的调用分布跟踪系统)。

    3、Apache Thrift ,facebook代表作,支持多种编程语言的远程服务调用的框架,其传输数据采用二进制格式,相对 XML 和 JSON 体积更小,对于高并发、大数据量和多语言的环境更有优势。

    4、avro,大名鼎鼎的Hadoop的子项目。它本身即是一个序列化框架,同时也实现RPC的功能,支持跨语言实现,与 Apache Thrift 和Google的Protocol Buffers相比,Avro的优势在于支持动态模式,即可以不生成代码,避免了侵入性,作为POJO的DTO(数据传输对象)是不适合用代码生成的。还有Avro序列化时由于不需要字段标识符来打标签,所以使用它序列化生成的数据小(应该是现有序列化系统中最精简的了),最后它的性能也非常优秀。

      Avro自带的RPC实现有自己的亮点,比如支持同步和异步调用,有握手协议功能,状态监控完善。但是它绑定了Avro序列化,不支持协议的扩展,也不支持扩展序列化方式,在扩展性上有待改进。

    5、gRPC,google开源项目,支持多语言,基于http2.

     

  • 相关阅读:
    bzoj 4008 亚瑟王 期望概率dp
    t[..., 1, tf.newaxis]
    Keras learning_phase()和learning_phase_scope()
    Keras Sequential模型和add()
    Keras克隆层
    Keras搭建一个Wide & Deep 神经网络
    1 链表的数据结构
    海康威视2017软件精英挑战赛初赛题目
    2016年倒计时两天
    可自定义片头的腾讯视频无广告可全屏调用代码
  • 原文地址:https://www.cnblogs.com/LiJianBlog/p/4517674.html
Copyright © 2020-2023  润新知