20 | Immutable!任何变更都需要发布
王潇俊
该思维导图由 AI 生成,仅供参考
在这种模式中,任何基础设施的实例(包括服务器、容器等各种软硬件)一旦创建之后便成为一种只读状态,不可对其进行任何更改。如果需要修改或升级某些实例,唯一的方式就是创建一批新的实例来替换它。
这种思想与不可变对象的概念完全相同。
为什么我会说,不可变基础设施的思想对持续交付的影响非常深远呢?因为不可变的思想正是解决了持续交付一直没有解决的一个难题,即环境、顺序、配置这些基础设施在测试环节和生产环节的不一致性所带来的问题。
那么,今天我就来详细分析一下不可变基础设施的由来、影响,以及如何实现的相关内容。
从持续交付中来
如果你是一个程序员,其实很容易理解不可变基础设施的概念,以及其实现的方式。因为它就和 Java 中的不可变类完全相同:类实例一旦创建,就无法变更,而可以变更的是指向实例的引用。
其实早在 2011 年出版的《持续交付:发布可靠软件的系统方法》一书中,就曾提到“蓝绿发布”的概念:你需要更新一组实例,但并不是直接在原有实例上进行变更,而是重新启动一批对等的实例,在新实例上更新,然后再用新实例替换老实例。此时老实例仍旧存在,以便回滚。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
不可变基础设施(Immutable Infrastructure)是一种革命性的基础设施管理模式,其核心思想是将基础设施实例变为只读状态,通过创建新实例来替换旧实例,从而解决了持续交付中环境、顺序、配置不一致性的问题。这种模式对持续交付产生深远影响,尤其在容器时代。文章介绍了不可变基础设施的由来、影响以及相关衍生技术,如容器技术等。它强调了每一次变更都是一次发布,每一次发布都是一个独立镜像的启动,以及如何理解和应用“不可变”模型。同时,提出了持续交付面对的新问题,即持续交付不再仅限于交付可运行软件,而是连带基础环境一起交付。这篇文章深入浅出地阐述了不可变基础设施的概念、重要性和应用,对于正在探索持续交付和基础设施管理模式的读者具有重要的参考价值。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《持续交付 36 讲》,新⼈⾸单¥59
《持续交付 36 讲》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(3)
- 最新
- 精选
- Milo想了解下大家怎么处理数据库版本回滚的
作者回复: 数据库不回滚,且必须做到向前兼容
2018-08-244 - 春风百里请问,按照每一次变更都是一次发布,每一次发布都是一次独立镜像启动,那在配置中心做的配置变更,也算是一次发布,但是并没有产生新的独立镜像,这个怎么理解?2020-03-1811
- 禾子先生不可变思想在mybatis的使用中有应用,通过MBG生成的代码不可变,有特殊需求,继承或新增。2018-08-191
收起评论