175-2108-6175
网站建设资讯详细

brpc介绍

日期:2021-03-10  作者:千语创想  浏览:4460

brpc又称为baidu-rpc,是百度开发一款“远程过程调用”网络框架。目前该项目已在github上开源。当然在谈这些前,需要知道什么是rpc。rpc全称是Remote Procedure Call,即远程过程调用。

百度开源的RPC框架BRPC,以其高性能、低延迟、易用性等优势,使得其在高性能的C++开发领域非常受欢迎。

为什么高性能、低延迟上能够有足够大的优势?

线程模型(Thread Module):使用bthread 用户态协程,结合N:M的调度模型,以及work-steal 抢占式调度实现;为bthread打造的butex同步组件,为实现高性能的RPC框架提供了较为高效和简洁的并发编程基础。

内存管理(Buffer & Memory Management):buffer-ManangerMent通过IOBuf(非连续零拷贝缓存)方式减少数据传递处理过程中的拷贝。各种ThreadLocal的ResoucePool,Object Pool等来优化定长的短生命周期的申请和释放。

执行队列(exec queue):多生产者单消费者无锁队列,实现了多生产者单消费者之间的的高效通信,在实现单TCP连接复用,高效发送-接收数据上发挥了很重要的作用。

超时定时器(Timer Keeping): 使用高效的定时器管理超时的RPC,并进行回调。

避免过多编码:将数据Body作为Attachment的方式,而不需要编解码

易用性体现在哪里?

ProtoBuf 支持:支持google ProtoBuf 定义RPC协议

单端口多协议支持:支持在同一端口识别不同的协议(Redis等)

高性能bvar统计:通过高性能的bvar进行方面的性能统计,并且支持导出到普罗米修斯-形成一整套监控方案。

IO模式:支持方面的同步和异步的编程模型

扩展性:支持自定义的协议实现。

 

千语创想-专业APP开发app定制服务商,提供一站式移动应用解决方案,满足您的各类需求,欢迎免费评估需求和获取报价。

 

立即免费在线制作一个APP,新手注册即送开发大礼包

提交app定制需求,免费获取报价和周期:

电脑请点击https://www.qianyuthink.com/?url=/index?uzchannel=500

手机请点击https://www.qianyuthink.com/?url=/m/customizedservice

转载请注明来自:https://www.qianyuthink.com/news/7379.html