首页 > 其他分享 >TS - 运维中容错方式

TS - 运维中容错方式

时间:2024-10-22 16:02:52浏览次数:8  
标签:重试 运维中 服务 降级 特性 TS 容错 超时

容错方式

错误始终会出现,不可避免,但可以尽最大可能延迟发生和降低错误的影响。

消除单点

实现系统更高的可用性,首先要消除单点,通过负载均衡分配流量,部署多个业务服务,存多份数据。
节点数越多,可用性就越高,根据实际情况避免浪费资源。

特性开关

实现简单的特性开关,通过配置文件或者程序中的一个静态变量来实现某一功能或特性的启停。
针对繁杂场景,建立自动化的特性开关功能。

服务分级

梳理出业务的核心流程,找到核心的服务是哪些,根据这些给服务分级,表示服务的运维关键程度。
重点关注核心业务流程,否则一旦发生故障,将直接导致业务遭受重大损失

降级设计

当高出预期的流量来临时,无法做到快速扩展,只能通过流控和降级来保障核心功能,利用目前有限的资源,暂时关闭非核心服务。
降级的前提条件是要对服务进行分级,需要明确降级的条件。
降级需要事先测试,并且进行演练。否则当问题真正来临的时候,会导致更大的故障。
向最终用户进行友好的提示,降低负面影响。

  • 关闭某个功能,页面显示不全或不能点击某个按钮。请求短路,直接返回缓存结果。
  • 简化流程,放弃某个操作,如给用户发注册成功短信。
  • 延迟执行,停止定时任务,如某些结算。

超时重试

因超时而引发的频繁发起重试,会导致更严重的事故。
在制定超时重试的策略时,需要考虑:

  • 超时时间
  • 重试的总次数
  • 重试的间隔时间
  • 重试间隔时间的衰减度

标签:重试,运维中,服务,降级,特性,TS,容错,超时
From: https://www.cnblogs.com/anliven/p/18493117

相关文章

  • 面试必备!值得收藏!不容错过的30+ 大语言模型面试问题及答案
    引言大语言模型(LLMs)现在在数据科学、生成式人工智能(GenAI,即一种借助机器自动产生新信息的技术)和人工智能领域越来越重要。这些复杂的算法提升了人类的技能,并在诸多行业中推动了效率和创新性的提升。近年来,大语言模型的发展飞速,在复杂数据分析和自然语言处理等任务中得到了......
  • 升级Unity后产生的Objects内存泄露现象
    1)升级Unity后产生的Objects内存泄露现象2)能否使用OnDemandRenderingAPI来显示帧率3)Unity闪退问题4)配置表堆内存如何优化这是第405篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面地掌握和学习。UWA社区主页:community.uwa4d......
  • vue3 setup lang=ts实现router-link的动态传参
    一、实现目标 可以通过router-link在url里面配置参数然后传递给markdown页面 二、页面配置主页面,即配置router-link的页面templates:<router-link:to="{path:`/mark/${itemId}`}">fff</router-link>script:constitemId=ref('333'); 接收数据页面,即mark页面......
  • P5195 [USACO05DEC]Knights of Ni S
    为什么没有题解用优先队列,来个优先队列的。先从起点BFS一遍,把到所有能到达灌木丛放入优先队列。因为防止有些离终点近但不是最优的灌木丛更新答案。再跑一遍优先队列BFS。#include<bits/stdc++.h>usingnamespacestd;#defineLLlonglongLLn,m,a[1002][1002],x......
  • echarts根据数据动态生成饼图的个数,并排序
    动态生成个数functioninitPurchaseContract(){//获取数据的keysletkeys=Object.keys(dataPurchaseContract[0]);lettotalCharts=keys.length-1;//饼图数量//动态计算行数和列数(使布局接近正方形)letcols=3;//列数letrows......
  • btslab笔记
    本文只涉及漏洞的验证与解题思路不进行安装等基础教学1.vulnerability.injection.sqlinjectionurl:https://172.16.26.44/btslab/vulnerability/ForumPosts.php?id=1第一步:判断注入类型字符型还是数字型:GET/btslab/vulnerability/ForumPosts.php?id=1GET/btslab/vulnera......
  • 在 Python 中使用 Type Hints
    在Python中使用TypeHintsCreated:2024-10-21T16:48+08:00Published:2024-10-22T13:08+08:00Categories:Python工厂方法使用TypeVar作为函数参数的类型注释,可以做到传入什么类型,返回什么类型。fromtypingimportType,TypeVarclassPet:def__init__(sel......
  • windows配置网关与netsh端口转发
            在Windows系统中,配置主机的IP地址、子网掩码和网关地址可以通过以下步骤手动设置。这在某些情况下是必要的,例如当你需要确保网络接口使用特定的IP地址或网关时。手动设置IP地址、子网掩码和网关地址的步骤打开“网络和Internet设置”:右键点击任务栏的网络......
  • 深入解析Apache DolphinScheduler容错机制
    简述ApacheDolphinschedulerMaster和Worker都是支持多节点部署,无中心化的设计。Master主要负责是流程DAG的切分,最终通过RPC将任务分发到Worker节点上以及Worker上任务状态的处理Worker主要负责是真正任务的执行,最后将任务状态汇报给Master,Master进行状态处理那问题来了:M......
  • 单细胞分析 library(DropletUtils) Error in testEmptyDrops(m, lower = lower, ...)
     单细胞分析library(DropletUtils)emptyDrops()ErrorintestEmptyDrops(m,lower=lower,...):nocountsavailabletoestimatetheambientprofile 问题分析和答复:  我试图阻止人们以错误的方式使用该功能,这让你感到困惑。CellRanger生成两组计数矩阵——原始......