
rpc
文章平均质量分 92
Tannin724
这个作者很懒,什么都没留下…
展开
-
自底向上brpc(二):无锁队列和execution_queue原理
execution_queue的实现非常独特,实现了wait free的入队操作,拥有极高的生产性能。但是消费侧由于断链问题,甚至不是Lock Free的,因为如果生产者在两阶段中间被换出,那么消费者会被这个阻塞传播影响,整个消费也只能先阻塞住。但是在排队写入fd的场景下,专项优化生产并发是合理,也因此可以获得更好的执行效率。总的来说execution_queue是一个非常巧妙的实现,值得我去深入学习。原创 2023-01-19 16:50:46 · 411 阅读 · 0 评论 -
自底向上brpc(一):resource_pool
brpc的资源池实现还是比较容易理解的,与我曾经看过的资源池大同小异。我自己印象比较深刻的点,一是brpc非常看重locality,通过thread local来实现高效的资源分配,并通过一个全局的blockgroup来进行分发blcok,实现资源的合理调度。同时为了防止多线程下分发blcok导致的锁竞争导致的性能下降,采取了lock-free的实现方式。原创 2022-11-29 13:21:16 · 364 阅读 · 0 评论