大促备战中稳定性建设策略与总结
文章目录
- 接口流量评估、上下游依赖梳理
- 降级能力建设
- 应急响应预案建设
- 压力测试
- 监控报警建设
- 容灾演练
之前也专门写过日常稳定性建设的一些策略,传送门 -> 日常稳定性建设策略与总结,本文想专门聊聊大促期间做的一些稳定性保障,顺便记录自己之前实习期间在阿里备战双 11 的一些工作与思考。
接口流量评估、上下游依赖梳理
- 梳理系统中暴露出去的各个接口,以及每个接口关联的上下游依赖,并且标注各个接口负责人 POC,方便出问题时能够第一时间找到人。
- 进行整体流量评估,区分会员与非会员用户,流量评估中注意流量扩散,大流量风险的接口需要配置限流策略,同时要注意对下游依赖的压力,下游是否吃得住,自身服务的 DB、Redis 等基建承载能力也要合理评估。
降级能力建设
依赖上面的核心接口梳理、上下游依赖梳理
- 针对核心依赖,大流量场景下出现风险时,可以降级采用备用数据兜底的方案,场景:省钱卡 feeds 展示固定的兜底数据,不用每次都去拉取算法推荐接口实现“千人千面”,这样也不会让用户感知到服务异常
- 针对非核心依赖,可以提前开启降级开关(前提是每个依赖都配置了 switch 开关),由上游展示约定好的兜底文案,避免影响主流程,场景:省钱卡入口营销文案降级展示为“欢迎开通省钱卡~”
应急响应预案建设
配合 QA 同学完成各种典型场景的预案降级方案
- 针对常见下游异常,建设分场景的降级预案,降低故障时的操作成本,缩短故障恢复时间
- 引入 Failure Analysis Model 预案来自动触发线上的应急响应,提升故障响应的时效性
压力测试
会有专门质量保障的同学整理汇总压测异常点,包括接口中的大日志治理,同时也需要压测参与方提前配置降级方案,配置限流策略等
- 对整体服务进行全链路压测,明确链路中的性能瓶颈,针对性能瓶颈建设整体流量协调方案
- 针对多机房集群进行降级压测,明确降级服务性能情况,保障降级方案可靠
监控报警建设
优化报警监控,甚至针对响应错误码进行报警区分,并加入定期巡航机器人,会针对天纬度的报警进行汇总整理,同时提供出各种核心依赖的 SLA 大盘
- 针对报警重点从核心场景的报警覆盖度、误报警及报警速度三个维度去进行了相关的建设
- 针对监控补齐了核心场景的API层空推监控,进行容灾大盘的建设
容灾演练
分批进行容灾演练,针对不同接口回放线上流量,进行故障注入 mock,观察监控报警变化
- 针对建设的预案进行演练,保障预案效果符合预期
- 双 11 前值班同学使用预演模式进行演练,保障对预案的熟悉程度
相关文章:
大促备战中稳定性建设策略与总结
文章目录 接口流量评估、上下游依赖梳理降级能力建设应急响应预案建设压力测试监控报警建设容灾演练 之前也专门写过日常稳定性建设的一些策略,传送门 -> 日常稳定性建设策略与总结,本文想专门聊聊大促期间做的一些稳定性保障,顺便记录自己…...
vscode/cursor+godot C#中使用socketIO
在 Visual Studio Code(VS Code)中安装 NuGet 包(例如SocketIOClient),你可以通过以下几种方法: 方法 1:使用dotnet cli 打开终端:在 VS Code 中按下Ctrl 或者通过菜单View -> Terminal打开终端。 导…...
Uniapp 原生组件层级过高问题及解决方案
文章目录 一、引言🏅二、问题描述📌三、问题原因❓四、解决方案💯4.1 使用 cover-view 和 cover-image4.2 使用 subNVue 子窗体4.3 动态隐藏原生组件4.4 使用 v-if 或 v-show 控制组件显示4.5 使用 position: fixed 布局 五、总结Ἰ…...
jQuery介绍(快速、简洁JavaScript库,诞生于2006年,主要目标是简化HTML文档操作、事件处理、动画和Ajax交互)
文章目录 **核心功能 & 亮点**1. **简化 DOM 操作**2. **链式调用**3. **跨浏览器兼容**4. **便捷的事件绑定**5. **Ajax 封装**6. **动画效果** **现状与适用场景**- **传统项目维护**:许多旧系统(如 WordPress 插件、老企业网站)仍依赖…...
第三节 docker基础之---Commit+Dockerfile制作
docker目前镜像的制作两种方法: 1,基于docker Commit制作镜像 2,基于dockerfile制作镜像,Dockerfile 为主流的制作方式 如果不制作镜像删除容器之后则里面配置的文件也随之删除: [rootdocker ~]# docker images 查看…...
通过openresty和lua实现随机壁纸
效果: 图片存放路径: /home/jobs/webs/imgs/ ├── default/ │ ├── image1.jpg │ ├── image2.png ├── cats/ │ ├── cat1.jpg │ ├── cat2.gif ├── dogs/ │ ├── dog1.jpg访问http://demo.com/imgs/default 随机返回…...
企业网站如何快速实现全站HTTPS安全访问?
当用户访问您的网站时,若您的企业网站仍以HTTP协议运行,浏览器“不安全”警告不仅会吓退潜在客户,还会拖累搜索引擎排名,直接影响业务转化和品牌声誉。实现全站HTTPS安全访问,已成为企业网站运营的必选项。 本文为您详…...
《花未眠》夜间四时醒来,海棠花未眠
《花未眠》夜间四时醒来,海棠花未眠 川端康成(1899-1972)日本作家。新感觉派。1968年以“敏锐的感受,高超的叙事技巧,表现日本人的精神实质”获诺贝尔文学奖。诺贝尔文学奖提名作有《雪国》《千羽鹤》《古都》。 陈德文…...
在nodejs中使用RabbitMQ(三)Routing、Topics、Headers
示例一、Routing exchange类型direct,根据消息的routekey将消息直接转发到指定队列。producer.ts 生产者主要发送消息,consumer.ts负责接收消息,同时也都可以创建exchange交换机,创建队列,为队列绑定exchangeÿ…...
kubeconfig存放内容有哪些
kubeconfig 文件是 Kubernetes 用于配置和认证的核心文件。它包含了关于如何访问 Kubernetes 集群的信息。以下是 kubeconfig 文件中常见的一些内容结构: apiVersion: 指定 kubeconfig 的版本,通常是 v1。clusters: 定义了集群的信息,包括集…...
图神经网络是什么,有什么实际应用
图神经网络是什么 图神经网络(Graph Neural Network,GNN)是一种专门用于处理图结构数据的神经网络,它能对图中的节点、边和整个图进行学习和推理,在社交网络分析、生物信息学、推荐系统等领域应用广泛。以下是其原理及示例说明: 图神经网络原理 节点表示学习:为图中每…...
如何将DeepSeek配置到离线电脑(内网)中?— 附Ollama夸克下载链接
1、在外网和内网电脑中分别安装Ollama 如下载速度较慢,安装包附在本文最后。 下载完成后傻瓜一键安装即可。 2、下载deepseek 在外网电脑中启动命令行输入下载命令。以下载8B为例,其他版本同。 ollama run deepseek-r1:8b 3、资源转移 在外网电脑…...
拯救者Y9000P双系统ubuntu22.04安装4070显卡驱动
拯救者Y9000P双系统ubuntu22.04安装4070显卡驱动 1. 前情: 1TB的硬盘,分了120G作ubuntu22.04。/boot: 300MB, / : 40GB, /home: 75G, 其余作swap area。 2. 一开始按这个教程:对我无效 https://blog.csdn.net/Eric_xkk/article/details/1…...
vue项目 Axios创建拦截器
Axios 1. Axios 和 Ajax 简介2. Axios 和 Ajax 的区别3. 从 按钮 到 Axios请求后端接口的 大致顺序 1. Axios 和 Ajax 简介 Ajax(Asynchronous JavaScript and XML) 不是一种技术,而是一个编程技术概念,核心是通过 XMLHttpReques…...
web前端第三次作业
题目 本期作业 WEB第三次作业 请使用JS实一个网页中登录窗口的显示/隐藏,页面中拖动移动,并且添加了边界判断的网页效 代码图片 效果展示 代码 <!DOCTYPE html> <html lang"zh"> <head> <meta charset"UTF-8&qu…...
滑动窗口算法笔记(C++)
滑动窗口算法是一种基于双指针技巧的高效算法, 常用于解决数组或字符串上的一些特定问题. 算法讲解 基本概念 滑动窗口算法可以想象成在一个数组或字符串上有一个固定大小或者可变大小的窗口, 该窗口在数组或字符串上从左到右滑动. 在滑动的过程中, 根据具体问题的要求, 对窗…...
day02冒泡排序
思路: 外层循环控制循环次数(i<len),设置swapFlagfalse内层循环j1(j<len-i),两两(j和j-1)比较,逆序则交换内层每次循环结束,没有交换,则break结束 内层循环j从1开始,小于len,…...
【工业场景】用YOLOv8实现火灾识别
火灾识别任务是工业领域急需关注的重点安全事项,其应用场景和背景意义主要体现在以下几个方面: 应用场景:工业场所:在工厂、仓库等工业场所中,火灾是造成重大财产损失和人员伤亡的主要原因之一。利用火灾识别技术可以及时发现火灾迹象,采取相应的应急措施,保障人员安全和…...
管式超滤膜分离技术都可以应用到哪些行业?
管式超滤膜分离技术由于其高效、稳定和适应性强的特点,在多个行业都有广泛的应用: 1. 生物制药与医药行业 纯化与浓缩:在生物药品的下游处理阶段,管式超滤膜被用来纯化抗体、疫苗、蛋白质等生物大分子,通过精确筛选分子…...
数智百问 | 制造企业如何降低产线检测数据的存储和管理成本?
在《“十四五”智能制造发展规划》等政策的推动下,以及新能源汽车、消费电子等品牌商对产品质量和供应商智能化水平要求的提升,半导体、电子制造、动力电池等先进制造行业企业纷纷推进产线智能化升级,并投入大量机器视觉检测设备以实现自动化…...
Linux中getifaddrs函数
文章目录 **函数原型****参数****返回值****释放资源****`struct ifaddrs` 结构****示例代码****输出示例****相关函数****总结**getifaddrs 是 Linux(以及其他 Unix-like 系统)中用于获取本机网络接口信息的系统调用。它提供了一种简单的方法来获取所有网络接口的地址信息,…...
Barra多因子模型
Barra模型 1. Barra模型概述1.1 Barra模型的历史与发展1.2 Barra模型在全球市场中的应用 2. Barra模型的基本原理2.1 APT理论基础2.2 Barra模型的基本原理:因子模型的核心假设因子暴露 β i j \beta_{ij} βij的假设因子收益率 f j f_j fj的假设 3. Barra模型的…...
P5:使用pytorch实现运动鞋识别
🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 我的环境 语言环境:python 3.7.12 编译器:pycharm 深度学习环境:tensorflow 2.7.0 数据:本地数据集-运动鞋 一…...
redis持久化原理相关面试题剖析
一、Redis 持久化的机制是什么? Redis是内存数据库,数据都是存储在内存中,为了避免进程退出导致数据的永久丢失,需要定期将Redis中的数据以某种形式(数据或命令)从内存保存到硬盘;当下次 Redis重启时,利用…...
动态规划LeetCode-1049.最后一块石头的重量Ⅱ
有一堆石头,用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。 每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x < y。那么粉碎的可能结果如下: 如果 x y&…...
Linux Media 子系统 V4l2
一 创建 V4l2 的 entity 在Linux内核的Media Controller框架中,V4L2设备作为实体(entity)的注册过程涉及以下步骤: 1. 初始化Media Controller结构 驱动首先创建一个media_device实例,并与V4L2设备(如v4…...
民兵装备管理系统DW-S300|支持国产化、自主研发
民兵装备器材管理系统(智装备DW-S301)是一套成熟系统,依托互3D技术、云计算、大数据、RFID技术、数据库技术、AI、视频分析技术对RFID智能仓库进行统一管理、分析的信息化、智能化、规范化的系统。 装备接收与登记 民兵装备抵达仓库时&#…...
Pro Git --(Windows)总结
Pro Git --Windows 文章目录 Pro Git --Windows知识来源Git入门与进阶 知识来源 廖雪峰的官方网站 Git教程 Git入门与进阶 # 初步学习Git #个人建议先大致过一遍,对Git有个大致的理解,然后在实操项目# 创建一个空目录 $ mkdir learngit $ cd learngit …...
加油口,电梯门的对称性对 TCP/IP 传输协议的启示
春节期间河南穷游屡次加油站排队加油之启示。 不考虑有意的设计因素,汽车加油口概率性分布在车身的左边或者右边,这个偶然的小细节让加油机同时为两辆车加油而无需额外的加油管。 如果所有车辆加油口都在同一侧,加油站的加油机就只能给一边的…...
【进阶】JVM篇
为什么学习jvm 1、面试的需要 学过java的程序员对jvm应该不陌生,程序员为什么要学习jvm呢?其实不懂jvm也可以照样写出优质的代码,但是不懂jvm会被大厂的面试官虐的体无完肤。 2、高级程序员需要了解 jvm作用 jvm负责把编译后的字节码转换…...
【安全靶场】信息收集靶场
靶场:https://app.hackinghub.io/hubs/prison-hack 信息收集 子域名收集 1.subfinder files.jabprisons.com staging.jabprisons.com cobrowse.jabprisons.com a1.top.jabprisons.com cf1.jabprisons.com va.cobrowse.jabprisons.com vs.jabprisons.com c…...
新数据结构(4)——Java继承
基本概念 继承的本质:重复使用已经定义好的方法和域,实现代码的重复利用。 使用继承之后,创建的子类可以方便地调用父类中已经定义的方法。 一个继承的例子: 重载和重写 重载 重载:发生在同一个类里,指…...
大数据学习之SparkStreaming、PB级百战出行网约车项目一
一.SparkStreaming 163.SparkStreaming概述 Spark Streaming is an extension of the core Spark API that enables scalable, high-throughput, fault-tolerant stream processing of live data streams. Spark Streaming 是核心 Spark API 的扩展,支持实时数据…...
介绍两个个电池充电管理芯片(TP4057、ME4069)
第一个是TP4057。 输入电压是4~6.5V TP4056,它们之间最大的区别就是TP4056最高是1A的充电电流,而TP4057是500ma,适用于更小一点的电池。 TP4057停机模式的静态电流也更小(上图列的是待机模式,但查看后面的表格发现实际…...
Debezium日常分享系列之:解码逻辑解码消息内容
Debezium日常分享系列之:解码逻辑解码消息内容 示例配置选项 DecodeLogicalDecodingMessageContent SMT将PostgreSQL逻辑解码消息的二进制内容转换为结构化形式。当Debezium PostgreSQL连接器捕获逻辑解码消息时,它会将消息事件记录发送到Kafka。默认情况…...
【Linux】smp_mb__after_atomic
文章目录 背景知识smp_mb__after_atomic 的作用具体应用场景为什么需要 smp_mb__after_atomic相关宏总结 背景知识 在现代多核处理器和并发编程中,编译器优化和CPU乱序执行可能导致程序指令的实际执行顺序与源代码中的顺序不一致。这种现象可能会破坏多线程或进程间…...
关于conda换镜像源,pip换源
目录 1. 查看当前下载源2. 添加镜像源2.1清华大学开源软件镜像站2.2上海交通大学开源镜像站2.3中国科学技术大学 3.删除镜像源4.删除所有镜像源,恢复默认5.什么是conda-forge6.pip换源 1. 查看当前下载源 conda config --show channels 如果发现多个 可以只保留1个…...
【JavaEE进阶】依赖注入 DI详解
目录 🌴什么是依赖注入 🎄依赖注入的三种方法 🚩属性注⼊(Field Injection) 🚩Setter注入 🚩构造方法注入 🚩三种注⼊的优缺点 🌳Autowired存在的问题 🌲解决Autowired存在的…...
鸿蒙HarmonyOS NEXT开发:横竖屏切换开发实践
文章目录 一、概述二、窗口旋转说明1、配置module.json5的orientation字段2、调用窗口的setPreferredOrientation方法 四、性能优化1、使用自定义组件冻结2、对图片使用autoResize3、排查一些耗时操作 四、常见场景示例1、视频类应用横竖屏开发2、游戏类应用横屏开发 五、其他常…...
自己部署 DeepSeek 助力 Vue 开发:打造丝滑的折叠面板(Accordion)
前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 自己…...
程序员升级进阶之路
熟悉业务、项目代码、工作流程,积极吸取技术资料接需求,画流程图,(伪代码),详细设计明确职业发展方向【很重要】求精:写代码前的技术方案设计 写代码并不难,关键是要明确为什么要写…...
C/C++后端开发面经
字节跳动 客户端开发 实习 一面(50min) 自我介绍是否愿意转语言,是否只愿意搞后端选一个项目来详细谈谈HTTP和HTTPS有什么区别?谈一下HTTPS加密的具体过程: 非对称加密 对称加密 证书认证的方式 非对称加密是为了保证对称密钥的安全性。 对称…...
【C++】策略模式
使用场景 主要目的是定义一系列可互换的算法或行为,并使它们在运行时可以根据不同的情况动态地替换。它侧重于算法的封装和替换,让客户端可以灵活地选择不同的策略来完成特定的任务。 例如,在一个游戏角色的行为系统中,角色的攻击…...
Baklib剖析企业内容管理与内容中台的主要区别解析
内容概要 在当今数字化转型的浪潮中,企业内容管理和内容中台这两种系统日益受到关注。两者虽均旨在提升企业的内容管理效率与协同能力,但却存在明显差异。企业内容管理(ECM)主要聚焦于文档的创建、存储、检索和管理,旨…...
深入了解 MySQL:从基础到高级特性
引言 在当今数字化时代,数据的存储和管理至关重要。MySQL 作为一款广泛使用的开源关系型数据库管理系统(RDBMS),凭借其高性能、可靠性和易用性,成为众多开发者和企业的首选。本文将详细介绍 MySQL 的基础概念、安装启…...
从零到一:基于Rook构建云原生Ceph存储的全面指南(上)
文章目录 一.Rook简介二.Rook与Ceph架构2.1 Rook结构体系2.2 Rook包含组件1)Rook Operator2)Rook Discover3)Rook Agent 2.3 Rook与kubernetes结合的架构图如下2.4 ceph特点2.5 ceph架构2.6 ceph组件 三.Rook部署Ceph集群3.1 部署条件3.3 获取…...
嵌入式经常用到串口,如何判断串口数据接收完成?
说起通信,首先想到的肯定是串口,日常中232和485的使用比比皆是,数据的发送、接收是串口通信最基础的内容。这篇文章主要讨论串口接收数据的断帧操作。 空闲中断断帧 一些mcu(如:stm32f103)在出厂时就已经在…...
OpenGL-基础知识(更新中)
本文基于The Cherno在Youtube上的OpenGL系列视频总结出的笔记,等这个系列视频学习完后,将更加系统详细的学习《计算机图形学编程(使用OpenGL和C 第二版)》这本书。个人认为看cherno的视频上手速度更快,而且他对基本概念…...
【多模态大模型】系列2:Transformer Encoder-Decoder——BLIP、CoCa、BEITv3
目录 1 BLIP2 CoCa3 BEITv3 1 BLIP BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation BLIP是 ALBEF 原班人马做的,基本可以看做吸收了 VLMo 思想的 ALBEF。训练的 loss 和技巧都与 ALBEF一致ÿ…...
基于CanMV IDE 开发软件对K210图像识别模块的开发
简介 CanMV IDE 是一款专为 K210 芯片设计的图形识别 Python 软件,它提供了强大的功能,帮助开发者轻松实现基于 K210 芯片的图形识别应用。无论你是初学者还是经验丰富的开发者,CanMV IDE 都能为你提供便捷的开发环境和丰富的资源。 硬件资…...