chenBright commented on PR #2177:
URL: https://github.com/apache/brpc/pull/2177#issuecomment-2763772188

   > 解决该问题的根本办法是将单连接的main socket和rpc通信的socket进行拆分(有点类似于只有一个连接的连接池),当rpc通信socket 
SetFailed之后,可以从main socket新建新的socket进行连接,但这个方案对brpc的改动较大。
   
   我思考过这个方案,改动很大且复杂。
   
   或许可以从LB的角度来实现,ServerId增加EndPoint字段,可以在E112的时候构造出备用Socket来进行通信了,这样实现会简单很多。
   
   
LB选实例的时候,记录下第一次选到的实例EndPoint,用于E112的时候通信。另外,在E112期间,也能保持一定的负载均衡。更近一步,参考[Envoy的恐慌策略](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/load_balancing/panic_threshold),不可用实例比例超过阈值,就可以使能该策略了。备用Socket管理策略得再详细设计一下。
   
   @wwbmmm 有空看看这个方案可行性?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@brpc.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@brpc.apache.org
For additional commands, e-mail: dev-h...@brpc.apache.org

Reply via email to