brpc 简介
- 功能
一种可以快速搭建业务系统的RPC框架,已经被广泛应用在多条业务线上。
- 特点
- 性能好
- 上手快,文档详尽
- 自带性能监控和分析功能;
- M:N (bthread:pthread)高效轻量的线程模型
brpc 主要模块
-
线程调度
- bthread
直接使用pthread有些弊端:
pthread 独占一个处理器核,一旦被阻塞,可能会被处理器直接来回调度,导致破坏了cache到局部性;
pthread内部的调度不容易控制,肯能出现某个处理器核被打爆而其他处理器核空闲的场景;
bthread 能够优化上面的不足:
通过实现上层M:N线程绑定减小了线程间的来回调度,减小了cache buncing;
通过内部的多个队列和 stealing worker机制,保证了整体的QPS*latency最大;
- bthread
-
监控
-
bvar
一把的RPC框架没有提供热点分析、延时统计的工具,brpc通过自带的bvar 能够监控并采集到多种性能相关的数据,便于快速确定热点、定位瓶颈。** window/persencond/latency/Adder/Reducer;
-
- 便捷的回调、超时机制
- 根据确定的业务流程,可以预先排放RPC进程的回调顺序;
- 通过优化的thread timer提供了超时后自动执行回调的功能;
- 内部通过大量的无锁操作,提供了系统性能。
参考链接
转载于:https://blog.51cto.com/xiamachao/2337260