项目实战典型案例11——生产环境重大事故

简介: 项目实战典型案例11——生产环境重大事故

生产环境重大事故

一:背景介绍

对于arpro这个项目。生产环境上布置了两套环境,一套A环境,一套B环境。

这样做的意义是如果线上A环境出现意料之外的问题(A环境大面积崩溃不可用,A环境服务器出现问题等等)我们能够立即切换B环境供用户进行使用。
A环境与B环境是完成一致的。


这一次arpro生产环境出现好几个重大的问题。


1.生产A环境没有及时进行构建,导致生产A环境与生产B环境版本不一致

2.禅道上2022年5月1日的发版日志没有关联需求,导致发版流程上出现疏漏,会影响此后的发版流程。

3.B环境构建异常,没有及时进行处理,导致将影响项目的及时发版。

4.目前线上运行的是B环境,实际应该运行A环境;没有及时做升级的切换。

5.系统跑一段时间,内容占用会随时间的增加而剧增;大约在一周左右时间内存会达到系统不可用(这里的一周时间说的是现在的业务量,可能随着业务量的增加时间会缩短)




二:思路&方案

上面问题1—4都是偏向于生产发版的问题 ,问题5偏向于技术问题。

对于上面的五个问题,我们都需要清楚生产环境不是儿戏需要有足够的责任心。需要对生产环境有一份敬畏之心。

对于问题1-4的思路&方案

在明确生产环境有两套环境的价值和意义;生产环境的重要性的基础上。

流程制度上

  1. 有严格的上线流程,完成一项勾选一项
  2. 有严格的上线审批流程,审批通过之后才能进行后续的上线操作
  3. 有严格的闭环流程(如环境检测,上线后的测试)
  4. 只有具有一定职级的人可以操作生产环境的构建

上线流程示例:




对于问题5的思路&方案

一般的原因是代码中存在不合理的情况,导致创建出了大对象,对象一直存在着引用导致GC无法进行回收,随着时间这些无法被回收的对象越来越多导致内存逐渐上升。


对于这类问题需要具体分析可以通过打印jvm快照的方式生成
dump文件,可以使用jdk1.8自带的内存分析工具Jvisual进行内存分析。寻找照成内存上升的原因。

四:总结

  1. 对生产环境有一份敬畏之心
  2. 通过一定的形式来保证内容
  3. 通过划分角色来进行权限隔离
目录
相关文章
|
存储 机器学习/深度学习 图形学
位图秘境:解析位图表示法及其在文件系统中的应用(一)
位图秘境:解析位图表示法及其在文件系统中的应用
286 0
|
Cloud Native 测试技术 持续交付
Docker Compose 解析:定义和管理多容器应用,从多角度探索其优势和应用场景
Docker Compose 解析:定义和管理多容器应用,从多角度探索其优势和应用场景
556 0
|
4月前
|
网络协议 Java 网络安全
全平台开源即时通讯IM聊天框架MobileIMSDK的服务端开发指南,支持鸿蒙NEXT
全平台开源即时通讯IM聊天框架MobileIMSDK的服务端开发指南,支持鸿蒙NEXT
276 4
|
11月前
麒麟系统mate-indicators进程占用内存过高问题解决
【10月更文挑战第7天】麒麟系统mate-indicators进程占用内存过高问题解决
1158 2
|
9月前
|
存储 监控 调度
云服务器成本优化深度解析与实战案例
本文深入探讨了云服务器成本优化的策略与实践,涵盖基本原则、具体策略及案例分析。基本原则包括以实际需求为导向、动态调整资源、成本控制为核心。具体策略涉及选择合适计费模式、优化资源配置、存储与网络配置、实施资源监控与审计、应用性能优化、利用优惠政策及考虑多云策略。文章还通过电商、制造企业和初创团队的实际案例,展示了云服务器成本优化的有效性,最后展望了未来的发展趋势,包括智能化优化、多云管理和绿色节能。
|
消息中间件 负载均衡 Kafka
Kafka分区分配策略大揭秘:RoundRobin、Range、Sticky,你真的了解它们吗?
【8月更文挑战第24天】Kafka是一款突出高吞吐量、可扩展性和数据持久性的分布式流处理平台。其核心特性之一是分区分配策略,对于实现系统的负载均衡和高可用性至关重要。Kafka支持三种主要的分区分配策略:RoundRobin(轮询)、Range(范围)和Sticky(粘性)。RoundRobin策略通过轮询方式均衡分配分区;Range策略根据主题分区数和消费者数量分配;而Sticky策略则在保持原有分配的基础上动态调整,以确保各消费者负载均衡。理解这些策略有助于优化Kafka性能并满足不同业务场景需求。
982 59
|
安全 Java 物联网
一个好用的IM服务端项目 flamingo
以下是关于几个开源即时通讯(IM)服务端软件的简要概览 这些项目各有特色,适合不同需求,如安全、扩展性或特定工作流程。
|
消息中间件 弹性计算 监控
【Serverless架构组成及优势适用场景】
Serverless的弹性伸缩、按需计费、无状态等特性使得开发者能够更加专注于业务逻辑,摆脱繁琐的服务器管理。它的优势在于灵活应对突发性工作负载、降低成本、提高开发效率,尤其在事件驱动、微服务、后端API等场景中表现出色。虽然Serverless仍然在不断发展,但其已经在云计算领域掀起了一场革命,成为当今应用开发的热门选择。随着技术的不断演进,我们有理由期待Serverless将继续推动应用开发的创新,为我们构建更加高效、可靠的应用提供更多可能。
468 0
|
传感器 物联网
物联网协议概述:MQTT、CoAP 和 HTTP
【6月更文挑战第3天】探索物联网的三大协议——MQTT、CoAP 和 HTTP。MQTT 是高效的消息传递使者,适用于大规模、不稳定网络环境;CoAP 小巧灵活,适合资源有限的设备;HTTP 则是熟悉的网络通信老将。根据不同场景选择合适的协议,让物联网设备有效交流。示例代码展示它们的使用方式。
378 0
|
安全 前端开发 Java
Scala与Java:综合比较
Scala与Java:综合比较
301 0