apache / brpc

brpc is an Industrial-grade RPC framework using C++ Language, which is often used in high performance system such as Search, Storage, Machine learning, Advertisement, Recommendation etc. "brpc" means "better RPC".
https://brpc.apache.org
Apache License 2.0
16.38k stars 3.96k forks source link

能否将rq视作一个unbounded队列,来对请求进行缓存处理 #2701

Open mrwhyxxk opened 2 months ago

mrwhyxxk commented 2 months ago

Is your feature request related to a problem? (你需要的功能是否与某个问题有关?) 代码如下,业务需求是:rpc提前返回给上游,然后server读执行后续的耗时操作(落盘)。 image

Describe the solution you'd like (描述你期望的解决方法) 1、我能否将brpc的rq视作一个mpmc的队列,这样就不用在回调中入队,后台消费线程出队? 2、如果可以,能否在done->Run()之后,“用户的耗时操作”之前,利用令牌桶进行控速

Describe alternatives you've considered (描述你想到的折衷方案)

Additional context/screenshots (更多上下文/截图)

lorinlee commented 1 month ago

不能看做unbounded queue,可以看下 task_group_runqueue_capacity 参数