brpc学习
okiwilldoit
这个作者很懒,什么都没留下…
展开
-
brpc学习:ExecutionQueue
ExecutionQueue 提供了如下基本功能:异步有序执行: 任务在另外一个单独的线程中执行, 并且执行顺序严格和提交顺序一致.Multi Producer: 多个线程可以同时向一个ExecutionQueue提交任务支持cancel一个已经提交的任务支持stop支持高优任务插队示例代码:利用队列异步写文件#include <bthread/execution_q...原创 2018-09-20 14:09:57 · 2790 阅读 · 0 评论 -
brpc线程模型学习
bthread是brpc使用的M:N线程库,目的是在提高程序的并发度的同时,降低编码难度,并在核数日益增多的CPU上提供更好的scalability和cache locality。”M:N“是指M个bthread会映射至N个pthread,一般M远大于N。由于linux当下的pthread实现(NPTL)是1:1的,M个bthread也相当于映射至N个LWP。bthread的前身是Distri...原创 2018-09-18 11:51:02 · 8036 阅读 · 5 评论 -
brpc初步学习
一.BRPC介绍BRPC百度开源的一个rpc框架,它具有以下特性: 1. 基于protobuf接口的RPC框架,也提供json等其他数据格式的支持 2. 囊括baidu内部所有RPC协议,支持多种第三方协议 3. 模块化设计,层次清晰,很容易添加自定义协议 4. 全面的服务发现、负载均衡、组合访问支持 5. 可视化的内置服务和调试工具 6. 性能上领跑目前其他所有RPC产品支持...原创 2018-08-28 11:04:20 · 8511 阅读 · 0 评论 -
brpc学习:bvar
一.介绍bvar是多线程环境下的计数器类库,方便记录和查看用户程序中的各类数值,它利用了thread local存储减少了cache bouncing,相比UbMonitor(百度内的老计数器库)几乎不会给程序增加性能开销,也快于竞争频繁的原子操作。brpc集成了bvar,http接口下的/vars可查看所有曝光的bvar,/vars/VARNAME可查阅某个bvar,在brpc中的使用方法请...原创 2018-10-11 11:38:50 · 6418 阅读 · 0 评论 -
Brpc定时器
brpc定时器,即bthread_timer_t,是另外开一个线程来定时执行操作,封装了bthread_timer_add等方法,头文件是<bthread/unstable.h>。下面是示例代码:#include <memory>#include <string>#include <bvar/bvar.h>#include <bv...原创 2019-03-11 15:56:03 · 1704 阅读 · 1 评论