Weibing Wang

Results 115 comments of Weibing Wang

> 实现难度很低,但是也会有个问题,就是需要在bthread层面调用Span::CreateClientSpan,但是Span::CreateClientSpan是在brpc这个层面上,代码调用关系可能有些不合理。 这个可以让bthread开放一个set_create_span_func的方法,然后在brpc代码里将真正实现的方法设置进去

> > 不支持 redis cluster > > 看文档是支持的啊 https://github.com/apache/incubator-brpc/blob/master/docs/cn/redis_client.md#%E8%AE%BF%E9%97%AEredis%E9%9B%86%E7%BE%A4 [redis cluster规范](http://redisdoc.com/topic/cluster-spec.html)要求客户端支持处理MOVED和ASK指令,目前brpc并未支持

不过你上面的报错是因为没有设置Controller的request_code

> 目前的想法是使用别的异步客户端, 在bthread环境下调用异步redis, 之后yield出去, 在异步redis的callback中唤醒yield出去的bthread, 这种是否可行 图啥呢,直接用同步接口就能达到这个效果

> > 有支持的计划么, 目前cluster应该很普及了 目前没有

> @wwbmmm 我想尝试给brpc加上cluster支持, 您有哪些方面的指导, 建议 或注意的点么 redis cluster要求客户端处理MOVED和ASK指令,需要换ip port发送请求。可以考虑复用controller的重试流程,但不能占用原来的重试次数。 客户端还需要缓存slot对应的ip、port,这块和LB有耦合,可能需要实现一个redis专属LB,通过Feedback接口反馈slot对应ip、port的信息 建议可以先提交一个draft,交流下大致的实现思路,没问题再进行具体的编码

> @wwbmmm 我想给brpc加上sentinel支持, 您有哪方面指导, 建议 或注意的点么 可以先建个issue,讨论一下需求场景,大概的使用方式

> > 同步接口不会阻塞worker的 > > 想请教下为什么同步调用网络io不会阻塞worker 同步执行Join的时候,会把当前bthread切走,换其它的bthread来执行