首页 > 编程知识 正文

卡刷降级会清除数据吗,京东资深java工程师

时间:2023-05-05 07:58:11 阅读:23844 作者:3

如果我们依赖的中间件资源或上游服务的性能出现严重问题,则需要将服务降低到静态页面,以避免用户看到错误的页面或加载页面所需的时间太长。 或者,关闭不影响主进程的旁路服务,将资源释放到主进程中。 这种操作称为降级。 服务降级有三种方法:降低一致性、减少不必要的功能和简化功能。 分别举例说明。

在进行降级的前提下,必须提前测量指标上限,提前整理系统性能限制,包括依赖的服务响应超时时间和CPU利用率,并将其纳入监控范围。 前提就绪后,我们开始编写包括玩具总动员在内的异常降级操作手册。 说明发生什么场景时,每一步都做了什么,其预期结果是什么,以及是否演练过。 只有经过真正实弹试验的士兵才是好士兵。 最后,降级方案是手动启用还是自动启用与止损密切相关。

先看看手动生效吧。 手动启用意味着在有人反馈或监视并发现异常后,必须手动更改配置中心的值,以使预先准备的降级方案生效。 例如,通常首先读取缓存,如果不在缓存中,则尝试从数据库读取。 如果服务降级后缓存未命中,请保留默认值并简化功能。 但是,操作的有效时间不是实时的,客户端将缓存第一个加载的配置,并每隔一段时间进行同步。 此外,请注意,必须重新启动APP才能启用,需要的只能是让用户重新启动APP。

看看自动生效吧。 通常,定义接口时,定义失败或超时时返回的响应代码和数据。 我们有时会返回火炬跳跃并链接到前端,然后将火炬页面加载重定向到前端。 或者,通常可以让前端一次分别请求正常链接和有声链接,在正常请求异常响应时显示有声数据。 这个方案每次总是两次,但是有声方案一般很轻,所以作为战略也不会丢失。

服务降级或自下而上的方案该怎么办?

对于核心流程(如订单和支付)不可或缺的流程,降级预案通常会在负载平衡Nginx上使用Lua脚本检测CPU利用率,并在达到阈值时打开限制流以对用户进行排队。 如果不是核心进程,例如,瓶颈中心交互,用户可以点击必弹设置“抢”提示,功能缺陷比直接暴露给用户好得多。 不是核心过程的不那么重要的服务直接关闭,例如红点提醒、猜测你喜欢什么。 另一种是特殊的,与用户的日常操作密切相关。 例如,该服务平时展示的名单是用户积极关注的。 例如,备受关注的热情外套最近发表的好句子。 我们每天同步保存有界的无状态列表,发生异常时展示昨天的东西。 这降低了数据的完整性。 这里强调的是无状态。 因为我们需要避免展示过期的数据。 否则,它看起来唐突而奇怪。 例如,发现的京品推荐官在降级时显示播放列表。

最后让我们来看看几个注意事项。

第一个是rxdhmg。 一个主门户中有很多选项卡。 如果默认选项卡上的服务在短时间内无法恢复,通常会更改所有用户或部分用户的默认选项卡。 此时,提前与业务方沟通,确保承载相应流量,防止雪崩效应。 另一种是发生异常时,立即向领导报告。 请不要一个人埋头苦干。 其他人可能有更好的止损方案。

第二,事务补偿。 当然,每个业务的预案千差万别,一部分必须准备补偿机制。 例如,如果京东优惠计划中集团收到京豆,且作为集团用户的京豆余额没有增加,则必须立即手动重新发行。

第三,入口隐藏着。 在某些情况下,隐藏门户或门户,以便在此功能的更新维护过程中向用户明确提示,用户认为单击启用了该功能,但实际上并未启用,从而不会对用户造成损失。 例如,之前在京东的东农场按时接收水滴,调整业务,但没有调整入口,导致很多客户投诉。

第四,降级源和常规数据源分开。

第五,紧急扩张。 如果服务负荷过高,可能会暂时申请容器耐压。 在京东,在大力促进高流量节点的同时,在线变更需要多级批准。 在突发情况下,我们提供预分发组在线分发配置的服务,以缩短在线流程时间。 因为预分发组不需要领导者的批准。

是的,今天我们分享了在京东是如何建立服务水平的。 如果对你有帮助的话,请和朋友分享,或者点看的人。

关注(松花蛋黑板报,更精彩!

WX介绍:分享在京东工作的技术认识和JAVA技术及行业内的最佳实践,大部分是实用的、可理解的、可再现的

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。