隔离/恢复配置错误率errorThresholdPercentage导致被隔离的实例很长时间无法恢复

问题现象:

 

某产品使用CSE的隔离功能,并且配置了errorThresholdPercentage=15%。 在一次用户突发请求的过程中,由于一个服务(B)产生大量的超时,调用B的服务A触发了实例隔离。后来用户恢复了被隔离的服务B,但是服务A调用B仍然没有恢复,所有实例经过3个小时后,还是没有恢复。

 

问题日志:

2019-02-04 21:58:12.641 [jgw-getgameauthsign-executor-50]  INFO The Service AppGalleryJointOperationUserService's instance b8fe6f79288411e9b7f100163e0b130d has been isolated for a while, give a single test opportunity. -  at org.apache.servicecomb.loadbalance.filter.IsolationDiscoveryFilter.allowVisit(IsolationDiscoveryFilter.java:123)

2019-02-04 21:58:12.643 [jgw-getgameauthsign-executor-50] ERROR Invoke all server failed. Operation CONSUMER  AppGalleryJointOperationUserService.usage-auth.signAuth, e=com.netflix.client.ClientException: Load balancer does not have available server for client: default -  at org.apache.servicecomb.loadbalance.LoadbalanceHandler$3.onExecutionFailed(LoadbalanceHandler.java:321)

 

问题分析:

从第一条日志看,尝试使用这个实例访问,但紧接着的打印找不到实例。开始分析的时候,被这个错误引导,以为是代码bug导致的,不过经过大量分析代码,没发现bug。 后来发现产品在一次业务逻辑执行过程中,会调用同一个服务的x和y两个方法。第一条日志是调用x方法的时候打印的,第二条日志是调用y方法的时候打印的,因此确定了x方法是调用成功的,而调用y方法的时候没成功。所以问题根因为一个实例被隔离后,虽然尝试使用这个实例,但是错误率长期大于15%,导致实例没恢复, 所以实例持续处于隔离状态。 

 

这种情况通常发生于突发情况导致的隔离,比如每次突发用户请求导致总请求数为100000, 错误70000,错误率为70%,如果需要降到15%,那么需要尝试55000次。但是隔离后,尝试是非常缓慢的,每个single test周期才尝试一次,需要要尝试这么多次,就需要非常长的时间。 

 

建议:

在配置隔离策略的时候,建议业务不要使用errorThresholdPercentage(默认没开启),防止突发情况导致恢复缓慢。缺省情况采用的是连续错误次数来隔离,一旦一个实例访问成功,马上恢复实例的访问。 这样可以起到快速隔离,快速恢复的效果,通常是我们预期的效果。 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: vsencode隔离文件恢复工具的图形界面中无法显示被隔离的文件可能是由以下原因导致的: 1. 文件未被正确隔离:在使用vsencode工具的过程中,如果文件没有被正确隔离,那么在图形界面中就无法显示。这可能是因为工具设置错误或操作不当导致的。在恢复文件之前,需要确保正确地使用vsencode隔离文件。 2. 文件已被删除或移动:如果之前被隔离的文件已经被删除或移动到其他位置,那么在图形界面中就无法显示。在这种情况下,您需要查找文件的新位置或进行数据恢复操作,以使文件重新出现在vsencode的图形界面中。 3. 软件错误或故障:vsencode工具本身可能存在一些软件错误或故障,导致图形界面无法显示被隔离的文件。这可能需要通过更新软件版本、重新安装或与开发者取得联系来解决。 综上所述,vsencode隔离文件恢复工具的图形界面中无法显示被隔离的文件可能是由文件未正确隔离、文件已被删除或移动以及软件错误或故障等原因引起的。解决该问题的方法包括正确操作工具、查找文件的新位置或进行数据恢复操作、更新软件版本、重新安装或与开发者取得联系等。 ### 回答2: vsencode隔离文件恢复工具是一款方便实用的工具,它帮助用户恢复隔离的文件。然而,有时候在使用该工具的图形界面时,用户可能会遇到无法显示被隔离的文件的问题。这可能是由以下几个原因引起的: 1. 文件路径错误:在图形界面中,无法显示被隔离的文件可能是因为用户提供了错误的文件路径。用户需要确保输入正确的文件路径,包括文件的完整路径和文件名的准确拼写。 2. 文件类型不受支持:vsencode隔离文件恢复工具可能只支持特定类型的文件恢复。如果用户尝试恢复的文件类型不在支持列表中,图形界面可能无法正确显示这些被隔离的文件。用户可以参考工具的帮助文档或查询相关资料,以确定工具是否支持特定文件类型的恢复。 3. 文件已被损坏:被隔离的文件可能由于某些原因而被破坏或丢失关键信息,导致图形界面无法正确显示。在这种情况下,用户可以尝试使用命令行界面或其他文件恢复工具来尝试修复或恢复文件。 如果以上解决方法都无效,用户也可以尝试联系vsencode隔离文件恢复工具的技术支持团队,向他们报告问题并获得专业的帮助和支持。 ### 回答3: vsencode隔离文件恢复工具的图形界面中无法显示被隔离的文件可能有以下几个可能原因: 1. 被隔离文件的格式不受支持:vsencode隔离文件恢复工具可能只支持特定格式的文件,如果被隔离的文件格式与之不匹配,那么该文件在图形界面中将无法正确显示。此时,可以尝试将被隔离的文件转换为支持的格式后再次尝试显示。 2. 文件路径错误:图形界面中无法显示被隔离的文件可能是因为其文件路径设置错误。在vsencode隔离文件恢复工具中,可能需要正确设置文件的路径才能够正常显示。可以检查文件路径设置是否正确,并确保路径中不包含特殊字符或空格。 3. 文件被损坏:如果被隔离的文件本身已经损坏,则vsencode隔离文件恢复工具无法正确解析并显示该文件。此时,可以尝试使用其他文件修复工具或者重试从原始数据源中获取文件。 4. 软件版本兼容性问题:某些情况下,图形界面无法显示被隔离的文件可能是由于vsencode隔离文件恢复工具的版本与操作系统或其他软件不兼容所致。建议更新软件至最新版本,并确保操作系统与软件之间的兼容性。 如果以上方法无法解决问题,可以进一步尝试与开发者或技术支持团队联系,以获取更详细的帮助和解决方案。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值