构建可回滚的应用及上线checklist实践

在互联网分布式应用中,如果上线的新版本有bug又不能回滚止损,带来的后果将是灾难性的。因此做到上线可回滚以及上线前的checklist是保证服务稳定性的基本要求。 在简单的场景里直接回滚到上一版个版本即可,但是如果涉及多个上下游和组件、考虑多版本兼容,就需要有好好设计下如何构建可回滚的代码,充分验证后还需要仔细检查上线checklist,最大程度保证线上服务的稳定性。
Java 持续集成 软件工程 稳定性 2021年11月20日 243次浏览

Maven依赖冲突问题排查经验

在日常的开发中,排查问题是一个合格Java开发者的的基本能力。本文以Maven构建工具为例,从原理、思路、工具、实践几方面分享Java中复杂jar包依赖问题排查经验。
Java 软件工程 Maven 2021年11月13日 1,730次浏览

Gradle最佳实践

本文详细梳理了Gradle使用过程中的问题,以及Maven项目如何迁移到Gradle
Java 持续集成 软件工程 2021年01月13日 1,573次浏览

系统设计之降低复杂性

在软件开发、维护过程中。软件的生命力总是从最初的理想状态,逐步趋向于复杂、混乱和无序状态发展,直到软件不可维护而被迫下线或重构。本文讨论的软件复杂性的来源以及如何避免。
架构 软件工程 2020年12月13日 2,358次浏览