zoukankan      html  css  js  c++  java
  • apache thrift的不足

    thrift作为RPC优点明显,那些还在坚持使用消息排斥RPC的同学,都应当亲自接触体验一下。 


     不过thrift确实还有些明显的不足,表现在: 

     1.不能指定IP TNonblockingServer.cpp: for (res = res0; res; res = res->ai_next) { if (res->ai_family == AF_INET6 || res->ai_next == NULL) break; } if (::bind(s, res->ai_addr, res->ai_addrlen) == -1) { 


    2.每个service独占一个端口号 m_server.reset(new thrift::server::TNonblockingServer( m_processor, m_protocol_factory, port, m_thread_manager)); 


    3.C++客户端异步支持不好,或者至少这方面的信息太少,让人了解困难 暂只略知有个基于http的异步支持,java客户端的异步支持感觉不错,但没有实践过 


    4.对外直接暴露了由automake系列命名autoheader生成的config.h头文件 如果使用它的也是使用automake编译,容易造成冲突,结果是警告难消息,目前简单的措施是注释掉Thread.hpp中的#include "config.h" 


     5.文件、目录组织缺乏严谨 进入config.h所在目录就可以发现 6.命名方式让人吐槽 类都是以T打头的微软骆驼风格,这个还可以接受,但文件名和类名完成相同,这个就有点过了

    TBufferTransports.h
    TFDTransport.h
    TFileTransport.h
    THttpClient.h
    THttpServer.h
    THttpTransport.h


    6.内部代码的质量也只能算是一般

  • 相关阅读:
    mitmproxy抓包工具
    java基础|int和Integer的区别
    Vue|退出功能
    Vue|分页处理
    apt-get本地软件源搭建
    rqt_plot报错
    创建ROS 工作空间时出现:程序“catkin_init_workspace”尚未安装,程序“catkin_make”尚未安装。
    ubuntu16.04安装ROS
    debian及Ubuntu各版本下载地址获取
    解决sudo rosdep init和rosdep update的错误
  • 原文地址:https://www.cnblogs.com/aquester/p/9891745.html
Copyright © 2011-2022 走看看