岚天逸见

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.内部代码的质量也只能算是一般

posted on   岚天逸见  阅读(206)  评论(0编辑  收藏  举报

编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义

导航

统计信息

点击右上角即可分享
微信分享提示