当前位置: 首页 > news >正文

双十一备战与复盘

如何组织备战

重要节点

从大促启动会开始后我就开始计划我们本次备战的整体节奏。

挑战在哪

以上内容介绍了CDP平台有多么重要,那么画像系统备战的核心挑战在“如何保障在大流量高并发情况下系统稳定提供高性能服务”,主要表现在:稳定性、性能两项上。

稳定性:

1.在系统遇到紧急情况时,如何容灾快速恢复。

2.在大流量情况下,如何做好系统的流量管控,保障系统的可用。

性能:在大数据量近百万级TPS流量下如何保障系统性能(TP999:50ms以下)。

流量:黄金流程最底层环节,预估流量会被放大,整体流量备战预估到98wTPS

其实观察我们每天日常的流量就会发现,每天我们都在进行“大促”,并且日常也会存在流量激增。

我如何“操盘”

系统梳理

这一阶段主要是梳理参加大促的核心应用,我觉得最重要的一点就是梳理出来618之后都有哪些变化?因为系统总是在不断的迭代升级,一是要确保这些变化项不会影响系统的性能,二是如果有不能按照之前大促的经验评估的新的备战接口要重点去做流量收集。梳理出系统后就要进行单机压测根据压测的结果评估性能是否达标,也是对这半年的迭代交一份答卷。最后还要根据压测结果配置JSF单机限流(前置单机接口层)——稳定性保障

容量规划

我针对容量规划主要分为两个方面,一是重新进行应用的单机压测明确我们目前单机的承载量最大是多少,二是收集上下游业务方的流量,根据这两个方面进行评估算出这次大促要扩容多少资源。在根据收集上来的业务方流量提报进行应用限流,目的是保证大部分流量可控)——稳定性保障

容灾备案

梳理出所有的系统降级预案,系统核心节点灾备做到一键切换,明确操作手册,快速操作——稳定性保障

降级预案

让你的系统“坚挺不到”的最后一个大招——降级,我用一句话来概括就是将有限的资源最大化。比如我们的系统在峰值点就会暂停群体、标签的加工,也会暂停上游非重保的MQ作业,就是为了腾出更多资源给核心程序使用,以最大化保证核心业务的可用性。

军演压测

在这个阶段集团会组织多次的线上集群统一压测,(在这期间进行所有的降级演练、确保所有的降级开关可用)——稳定性保障

实时监控

重新梳理并配置系统关键链路的报警配置(电话、咚咚报警),并且我还会安排专人备战系统各个核心服务,专人专服,提升处置效率。

“惊悚时刻”

11.4日13:51分接到报警电话。

11.4日13:52分查看命中接口SGM的tp999激增,同时我马上给R2M运维老师打电话沟通得知原因。

11.4日13:53分我快速操作系统的灾备开关将系统切换到备链路,在这里我给大家的建议就是一定不要犹豫,不要上来就一直追查原因快速的做出反应和判断,最小化的减少对线上用户的影响。

以下这张图可以看到在两分钟内系统就恢复了正常

在大促期间的稳定性保障一般属于应急策略,因为在前期梳理系统时我详细的梳理了系统的降级预案明确操作手册,系统核心节点也有灾备能力并且在集团组织压测阶段也进行了降级演练,所以在出现问题时我们快速操作降级,在最短时间内解决了接口的性能问题。

总结与感悟

备战2023京东11.11是一次非常宝贵的学习和成长机会。

1.在这次备战初期梳理阶段,我学到了很多专业知识,也锻炼了自己的团队协作和问题解决能力。尤其在梳理系统架构变化点阶段能从各个角度(稳定、成本、运维)来了解为什么会这样变化。

2. 在大促当天大家都会在会议室里集中备战,我确实很紧张,但是我会组织大家再一次巡检所有的系统,核对降级列表、对其他系统的限流配置。对于我来说在晚上8点前后10分钟这个时间段是度过的最慢的并且也是最最最紧张的时候。 在这20分钟里,我要进行通知用户降级、操作系统降级、观测线上系统监控、恢复降级,并且要列张表格让团队每位小伙伴都有专门的监控项确保实时保障系统的稳定性。

3.最后当系统在峰值点运行正常,并顺利应对高并发压力时,我也会感受到巨大的成就感和满足感。大促确实很累,需要准备2个月左右的时间,大促期间还要有好几天到后半夜甚至通宵。但从某种角度上来讲大促更像是一次技术大考,一次全体人员的节日,未经历过是无法体会的,不经历多次是无法全面了解的,所以尽情享受吧。

作者:京东云开发者
链接:https://juejin.cn/post/7302605813206155290
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

相关文章:

双十一备战与复盘

如何组织备战 重要节点 从大促启动会开始后我就开始计划我们本次备战的整体节奏。 挑战在哪 以上内容介绍了CDP平台有多么重要,那么画像系统备战的核心挑战在“如何保障在大流量高并发情况下系统稳定提供高性能服务”,主要表现在:稳定性、…...

ONNX实践系列-修改yolov5-seg的proto分支输出shape

一、目标 本文主要介绍要将原始yolov5分割的输出掩膜从[b,c,h,.w]修改为[b, h, w, c] 原来的: 目标的: 代码如下: Descripttion: version: @Company: WT-XM Author: yang jinyi Date: 2023-09-08 11:26:28 LastEditors: yang jinyi LastEditTime: 2023-09-08 11:48:01 …...

VMware与Linux安装

VM与Linux安装 1、安装VMware ​ 这里安装Vm主要是为了安装Linux系统,除了相对云服务器,比较大众化的操作,当然更多的是熟悉Linux操作 1、Windows安装 ​ (1) 下载链接,目前版本上下载VM15的版本即可https://www.vmware.com/p…...

服务器连接github

https://zhuanlan.zhihu.com/p/543490354 比着这个一步步做就行。 https://blog.l0v0.com/posts/94ffdbdf.html 上传文件可以看这个 注意: 密钥ssh-keygen设置好之后,以后就不用每次输入账号密码才能访问了。 otherwise,每次要输入账号密码。…...

自动驾驶中的LFM(LED 闪烁缓解)问题

自动驾驶中的LFM Reference: 自动驾驶系统如何跨越LFM这道坎? 从路灯、交通灯,到车载照明,低功耗、长寿命、高可靠的 LED 正在快速取代传统照明方式。但 LED 在道路上的普遍使用,却带来“LED闪烁”现象。“LED闪烁”是由 LED 驱…...

ArkTS-页面和自定义组件生命周期

页面生命周期:被Entry装饰的组件生命周期 onPageShow:页面每次显示时触发一次,包括路由过程、应用进入前台等场景onPageHide:页面每次隐藏时触发一次,包括路由过程、应用进入前后台等场景onBackPress:当用户…...

ELK: logstash gork filter 多个模式(pattern)匹配规则语法和多行日志匹配设置

项目里用logstash分析日志,由于有多种模式(pattern)需要匹配,网上搜了很多示例,发现这些都是老的写法,都会报错,后来查阅了官方文档,才发现,新版本只支持新语法。 错误的…...

Ubuntu20.04上编译安装TVM

本文主要讲述如何在ubuntu20.04平台上编译TVM代码并在python中import tvm成功。 源代码下载: git clone --recursive https://github.com/apache/tvm tvm 平台环境升级: 1) sudo apt-get update 2) sudo apt-get install -y pyth…...

伦敦金现图形态分析(深度好文)

对价格行为交易者来说,伦敦金价走势图表中的一些特殊形态,能够带来比较靠谱的交易信号。然而交易并不只和形态有关,也和我们能够从图表形态中阅读到什么,以及如何理解其他交易者对价格波动的推动有关。 在对伦敦金走势图的技术形态…...

慕尼黑电子展采访全程 | Samtec管理层对话电子发烧友:虎家卓越服务

【摘要/前言】 今年的慕尼黑上海电子展上,Samtec大放异彩,特装展台一亮相就获得了大家的广泛关注,展台观众络绎不绝。 作为深耕连接器行业数十年的知名厂商以及Electronica的常客,Samtec毫无疑问地获得了大量媒体朋友的关注和报…...

APP外包项目维护方案

APP项目维护是确保应用程序持续运行、安全性和性能不断优化的关键活动。以下是一个综合的APP项目维护方案,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1.定期性能监控和优化: 使用性能…...

leetcode面试经典150题——32 串联所有单词的子串(中等+困难)

题目: 串联所有单词的子串(1中等) 描述: 给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 异位词 指由相同字母重排列形成的字符串(包括相同的字符串&…...

oracle关联更新

业务场景中需要对特定数据进行关联更新,记录一下关联更新语法: MERGE INTO fine_record_execute targ USING (SELECT "id","tname"FROM fine_record_executeWHERE "username" LIKE %目标人物%AND "time">20…...

SWT技巧

实现控件的刷新 问题可以简化如下,点击上方按钮,使下方按钮移动,但要求在监听事件里新建按钮对象,而不是使用原来的按钮(原来的按钮被移除了)。 解决代码如下: public class TestUI {protecte…...

3.数据结构

3.1 数据结构分类 常见的数据结构包括数组、链表、栈、队列、哈希表、树、堆、图,它们可以从“逻辑结构”和“物理结构”两个维度进行分类。 3.1.1逻辑结构:线性与非线性 逻辑结构揭示了数据元素之间的逻辑关系。在数组和链表中,数据按照…...

一篇文章完成Hbase入门

文章目录 一、简介1、数据模型结构2、物理存储结构3、数据模型4、基本架构 二、安装1、下载解压安装包2、修改配置文件3、启动服务(单机、集群)4、配置高可用(HA) 三、命令行操作1、建表2、新增/更新数据3、查看表数据4、删除数据5、修改默认保存的数据版本 四、架构1、RegionS…...

​使用PotPlayer播放器查看软解和硬解4K高清视频时的CPU及GPU占用情况​

目录 1、问题说明 2、PotPlayer播放器介绍 3、视频的软解与硬解 4、使用PotPlayer查看4K高清视频软解和硬解时的CPU占用情况 4.1、使用软解时CPU和GPU占用情况 4.2、使用硬解时CPU和GPU占用情况 5、最后 VC常用功能开发汇总(专栏文章列表,欢迎订阅…...

怎么做excel表格的二维码?文件快速做二维码的教程

Excel表格怎么做成二维码来扫码插看呢?Excel是工作中常用的一种文件格式,想要将表格内容分享给其他人查看,那么将表格生成二维码的方法会更加的方便快捷,其他人只需要扫描二维码就可以查看或者下载文件。表格excel二维码可以通过文…...

Clion取消double shift(按两下shift键)全局搜索

Clion 取消 double shift(按两下 shift 键)全局搜索。 如下图所示打开 setting。 点击 advanced setting,搜索 disable,取消勾选左侧复选框,点击 ok。...

Spring RabbitMQ那些事(2-两种方式实现延时消息订阅)

目录 一、序言二、死信交换机和消息TTL实现延迟消息1、死信队列介绍2、代码示例(1) 死信交换机配置(2) 消息生产者(3) 消息消费者 3、测试用例 三、延迟消息交换机实现延迟消息1、安装延时消息插件2、代码示例(1) 延时消息交换机配置(2) 消息生产者(3) 消息消费者 3、测试用例 …...

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…...

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...

使用VSCode开发Django指南

使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...

【杂谈】-递归进化:人工智能的自我改进与监管挑战

递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

算法:模拟

1.替换所有的问号 1576. 替换所有的问号 - 力扣(LeetCode) ​遍历字符串​:通过外层循环逐一检查每个字符。​遇到 ? 时处理​: 内层循环遍历小写字母(a 到 z)。对每个字母检查是否满足: ​与…...

08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险

C#入门系列【类的基本概念】:开启编程世界的奇妙冒险 嘿,各位编程小白探险家!欢迎来到 C# 的奇幻大陆!今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类!别害怕,跟着我,保准让你轻松搞…...

android13 app的触摸问题定位分析流程

一、知识点 一般来说,触摸问题都是app层面出问题,我们可以在ViewRootImpl.java添加log的方式定位;如果是touchableRegion的计算问题,就会相对比较麻烦了,需要通过adb shell dumpsys input > input.log指令,且通过打印堆栈的方式,逐步定位问题,并找到修改方案。 问题…...

yaml读取写入常见错误 (‘cannot represent an object‘, 117)

错误一:yaml.representer.RepresenterError: (‘cannot represent an object’, 117) 出现这个问题一直没找到原因,后面把yaml.safe_dump直接替换成yaml.dump,确实能保存,但出现乱码: 放弃yaml.dump,又切…...

从实验室到产业:IndexTTS 在六大核心场景的落地实践

一、内容创作:重构数字内容生产范式 在短视频创作领域,IndexTTS 的语音克隆技术彻底改变了配音流程。B 站 UP 主通过 5 秒参考音频即可克隆出郭老师音色,生成的 “各位吴彦祖们大家好” 语音相似度达 97%,单条视频播放量突破百万…...