ppzhoujun 2023-05-15 11:07 采纳率: 0%
浏览 18

brpc LVS 下链接失败

我的一个服务网络框架用BRPC 进行了一次改造 旧版是libhtp,做新版灰度上线的时候发现了一个问题
灰度上线是在LVS 下面逐渐把新版RS 挂载上去 和逐步删除旧版RS
但发现在请求方流量较高的业务 LVS 会把流量往旧版RS 倾斜。当所有旧版RS 下线后 流量较高的这个客户端会产生大量链接失败的错误
但BRPC 的RS 上的吞吐和其他指标都是正常的,有人知道大概是什么原因吗?
BRPC 目前知道是长连接不会主动关闭链接 旧版是短连接会主动关闭 但这个应该只会影响流量分配 不会造成大量失败的问题?

  • 写回答

1条回答 默认 最新

  • 醉酒丶吟长歌 2023-05-16 11:22
    关注

    根据你描述的情况,在灰度上线过程中,LVS(Linux Virtual Server)将流量倾斜到旧版RS(Real Server),而流量较高的客户端在所有旧版RS下线后遇到了大量的连接失败错误。此外,你提到BRPC的RS上的吞吐和其他指标都是正常的。

    可能的原因和解决方法如下:

    1、LVS配置问题:首先,你可以检查LVS的配置是否正确。确保LVS正确地将流量引导到新版RS,并且没有其他配置问题导致流量倾斜到旧版RS。检查你的LVS配置文件以及相关的负载均衡策略,确保它们与你的预期一致。

    2、健康检查设置:LVS通常会执行健康检查来确定RS的可用性。你可以确认健康检查的设置是否正确,以确保LVS将流量引导到正常工作的RS。检查健康检查的超时时间和频率,并确保它们适合你的BRPC RS。

    3、连接保持活动:BRPC是长连接,不主动关闭连接,而旧版RS是短连接,并主动关闭。这可能导致LVS在新版RS和旧版RS之间无法正确分配流量。你可以尝试调整LVS的连接保持活动时间或其他相关参数,以适应BRPC的长连接模式。

    4、平滑过渡:考虑在灰度上线期间采取平滑过渡的策略,而不是逐一删除旧版RS。你可以逐渐降低旧版RS的权重,同时逐渐增加新版RS的权重,以确保流量平稳地转移到新版RS上。这可以帮助减少连接失败的错误。

    5、性能调优:你提到BRPC的RS上的吞吐和其他指标都是正常的。但是,仍然有可能在高流量情况下,RS的性能达到瓶颈。你可以检查RS的资源使用情况,例如CPU、内存、网络带宽等,并进行性能调优以确保RS能够处理高流量负载。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 5月15日

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看