brpc 简介

  • 功能

一种可以快速搭建业务系统的RPC框架,已经被广泛应用在多条业务线上。

  • 特点
    • 性能好
    • 上手快,文档详尽
    • 自带性能监控和分析功能;
    • M:N (bthread:pthread)高效轻量的线程模型

brpc 主要模块

  • 线程调度

    • bthread
      直接使用pthread有些弊端:
      pthread 独占一个处理器核,一旦被阻塞,可能会被处理器直接来回调度,导致破坏了cache到局部性;
      pthread内部的调度不容易控制,肯能出现某个处理器核被打爆而其他处理器核空闲的场景;
      bthread 能够优化上面的不足:
      通过实现上层M:N线程绑定减小了线程间的来回调度,减小了cache buncing;
      通过内部的多个队列和 stealing worker机制,保证了整体的QPS*latency最大;
  • 监控

    • bvar
      一把的RPC框架没有提供热点分析、延时统计的工具,brpc通过自带的bvar 能够监控并采集到多种性能相关的数据,便于快速确定热点、定位瓶颈。

      ** window/persencond/latency/Adder/Reducer;

  • 便捷的回调、超时机制
    • 根据确定的业务流程,可以预先排放RPC进程的回调顺序;
    • 通过优化的thread timer提供了超时后自动执行回调的功能;
    • 内部通过大量的无锁操作,提供了系统性能。

参考链接

https://www.cnblogs.com/snow826520/p/8574824.html