zchuange opened a new issue, #3167: URL: https://github.com/apache/brpc/issues/3167
**Is your feature request related to a problem?** 业界涌现出多种新型互联技术和协议,如RDMA、CXL、Nvlink、UB(UnifiedBus)等,结合当前项目代码来看Socket类融合了rdma和tcp协议已显的过于臃肿,后期如果计划扩展支持更多的新协议和技术将会带来很大维护成本,为了保证brpc的核心竞争力持续性,brpc需要考虑支持互联技术和新的协议演进发展,针对于此情况,目前提出一种易扩展的Transport底层类架构,新的多协议传输层架构能够更好地承接上层调用以及更优雅的下层多协议栈串联,目前有以下方案和思路,还望一起讨论交流下。 **Describe the solution you'd like** <img width="692" height="425" alt="Image" src="https://github.com/user-attachments/assets/37b3cafa-f67b-477d-8622-612ea0e492ca" /> - Socket为brpc的通信基础类,针对该类进行传输层公共方法下推到Transport层,比如DoConnect、DoRead、DoWrite、WaitEpoll等。 - Transport Proxy为Transport代理类,根据协议类型代理调用不同协议栈的Transport子类方法。 - Trasnport为协议栈接口基类,接口定义了传输层需要泛化的协议栈公共方法,向上承接Socket调用。 - RDAM、TCP、CXL、UB分别是传输层的不同通信协议的实现子类部分,方法调用通过TransportProxy完成具体方法的调用。 **Describe alternatives you've considered** 第一步,基于Socket类进行架构改造和升级,同时将rdma和tcp协议的传输层公共部分下推到对应的子类上。 第二步,在已改造好的Socket-Transport架构上导入更多通信协议,例如CXL、UB等。 **Additional context/screenshots** -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
