当前位置:网站首页>拥抱云原生:江苏移动订单中心实践
拥抱云原生:江苏移动订单中心实践
2022-06-27 17:41:00 【InfoQ】
建设背景:业务发展变化快
- 随着政企等新兴业务的拓展,订单量增长迅速,原有应用+数据库的架构面临着很大的压力,一方面,烟囱式的应用难以快速横向扩展,另外一方面,需要引入新的数据组件缓冲数据库压力。
- 秒杀、直播带货等新兴业务带来订单量在短时间内的突增,如何应对短时间内的高峰对主机资源的要求又能尽量降低扩容成本?需要考虑在系统过载的情况下能对自身的服务和外部的请求都进行取舍,保障核心服务的稳定性,实现系统的韧性。
- 为了抢占新市场,需求交付周期越来越短,版本上线愈发频繁,传统的手工作坊式的研发交付模式已经不能满足业务交付要求了,需要在DevOps理念下引入研发效能工具体系。
问题解决之道:拥抱云原生

云原生总体架构

- 基础设施层:订单中心运行于虚拟化的基础设施上,平台PaaS组件运行在虚拟机上,业务应用运行在容器上。
- 数据层:订单中心大量采用云原生PaaS组件,包括redis、MQ、ElasticSearch等,降低数据库压力的同时保证数据层的高可用。
- 应用服务端:基于微服务化构建了多条微服务线,通过构建订单中心的微服务网关实现多条微服务线的统一服务治理,确保订单中心的高可用。
- 应用客户端:多渠道多类型的客户端访问请求,先通过Nginx再进入订单中心。订单中心内部部署了生产中心、灰度中心和灾备中心,Nginx主要用于多中心之间的切换。
- 统一监控运维:构建研运一体化工具实现敏捷研发、快速迭代,通过统一日志和运维监控实现业务和系统的多维统一监控和展示,通过调用链实现问题的快速定位。
云原生应用实践
云原生实践 1:云原生PAAS平台

云原生实践 2:微服务化

云原生实践 3:微服务治理

- 服务熔断:订单中心的服务可以配置,当其下游服务单位时间内调用失败次数达到阀值时,防止整个系统出现连锁反应甚至雪崩,暂时停止对该服务的调用。
- 服务限流:当入口请求 QPS 超过服务配置的阀值时,如瞬时出现高并发订单查询请求时,订单查询服务可以配置对某些渠道的查询请求进行限制,以保证本服务不被压垮。
- 服务降级:如上图所示,当订单中心的服务压力达到一定程度时,订单中心配置了服务降级策略,对容忍度高的服务进行降级,如对查询服务降级,以保证订单创建服务等核心服务的稳定性。
云原生实践 4:研运一体化

云原生实践 5:多活/灰度切换

- 灰度路由切换:新版本在灰度中心发布后,调整路由策略,切换一部分业务流量到灰度中心上,运行2天验证没问题后才正式发布到南京中心。
- 多中心缓存同步:灰度发布期间,两个中心间的缓存数据需要同步,通过MQ相互通知机制把变动数据加载到各中心缓存,并通过数据库日志、消息监控等额外手段保证多中心缓存同步的正确性和一致性,实现了生产中心和灰度中心的无缝切换。
- 数据层版本控制:数据库表中都有版本号字段,可以识别新旧版本涉及的数据,可用于问题定位和版本回退,实现了数据层的灰度发布。
云原生实践 6:多维监控和运维

- 通过统一日志采集实现日志监控及调用链输出,通过调用链快速定位问题。
- 具备业务和系统的综合监控展示分析,实现业务和系统的监控联动,便于快速定位异常原因。
- 支持告警的闭环管理:支持告警的归集、通知相关责任人、告警超时提醒、问题处理和记录、告警恢复确认、告警关闭。
- 运维人员通过体系化的运维工具,可在5分钟内快速找到问题根因并处理之,极大缩减整体故障修复所需时间。
云原生实践 7:常态化的故障注入

云原生建设带来的价值
- 通过在线灰度发布实现版本的提前验证,实现了生产和灰度的无缝切换。
- 通过实现版本的快速发布上线、缩短迭代周期,一周上线一个版本。
- 每月研发产能增加50%。
- 订单创建性能提升到5万笔/分钟。
- 订单查询性能提升到3000笔/秒。
- 实现故障隔离和恢复:应对故障,通过主动控制渠道接入点,将交易接入到正常运行的接入点,实现故障的完全隔离。通过故障点的自动重启和扩缩容实现故障的恢复。
- 在系统压力达到一定程度时,能有效实现限流和高危熔断/降级处理。
边栏推荐
- Workflow automation low code is the key
- Stored procedures of PostgreSQL
- 如何封裝調用一個庫
- 信息学奥赛一本通 1333:【例2-2】Blah数集 | OpenJudge NOI 3.4 2729:Blah数集
- International School of Digital Economics, South China Institute of technology 𞓜 unified Bert for few shot natural language understanding
- 芯动联科冲刺科创板:年营收1.7亿 北方电子院与中城创投是股东
- OpenSSL client programming: SSL session failure caused by an obscure function
- Market status and development prospect forecast of global aircraft hose industry in 2022
- binder hwbinder vndbinder
- GIS遥感R语言学习看这里
猜你喜欢

laravel框架中 定时任务的实现

Keras深度学习实战(12)——面部特征点检测

binder hwbinder vndbinder

Two methods of MySQL database login and logout

Buzzer experiment based on stm32f103zet6 library function

A simple calculation method of vanishing point

Solution of adding st-link to Huada MCU Keil

华大单片机KEIL报错_WEAK的解决方案

Row to column and column to row in MySQL

Running lantern experiment based on stm32f103zet6 library function
随机推荐
新中大冲刺科创板:年营收2.84亿 拟募资5.57亿
One week technical update express of substrate and Boca 20220425 - 20220501
MySQL读取Binlog日志常见错误和解决方法
Current market situation and development prospect forecast of global 3,3 ', 4,4' - biphenyltetracarboxylic dianhydride industry in 2022
Comment encapsuler un appel à une bibliothèque
Market status and development prospect forecast of global handheld ventilator industry in 2022
信息学奥赛一本通 1333:【例2-2】Blah数集 | OpenJudge NOI 3.4 2729:Blah数集
[cloud based co creation] the "solution" of Digital Travel construction in Colleges and Universities
工作流自动化 低代码是关键
网络传输是怎么工作的 -- 详解 OSI 模型
Cloud native database: the outlet of the database, you can also take off
Market status and development prospect forecast of the global infusion needle less connector industry in 2022
Workflow automation low code is the key
Gartner聚焦中国低代码发展 UniPro如何践行“差异化”
Photoshop-图层相关概念-LayerComp-Layers-移动旋转复制图层-复合图层
Code and principle of RANSAC
数仓的字符截取三胞胎:substrb、substr、substring
【建议收藏】ABAP随笔-EXCEL-4-批量导入-推荐
原创 | 2025实现“5个1”奋斗目标!解放动力全系自主非道路国四产品正式发布
一对一关系