现任Salesforce软件架构师的Pat Helland在他的 CIDR 2015文章 里回顾了不变性(immutability)架构设计的优点。Pat认为,今天的计算与存储成本已大大降低,为大规模数据保存不变副本(immutable copies)在经济上变得可行,这样做有助于缓解协调方面的挑战。
Pat对比了内部数据(inside data)与外部数据(outside data)的特性(见下表),并指出了采纳不变性架构的几点技术影响(注:Pat将 数据集 定义为一个固定的、不可变的表的集合):
表:对比内部数据与外部数据 (出处:Pat Helland的 CIDR 2015文章 )
与此同时,Jay Vyas在Red Hat开发者博客上发文 展示了 如何用Apache Spark和Cassandra来创建不变的微服务(immutable microservices)。Jay也谈到了构建不变微服务的好处:
本质上,不变微服务不需借助于任何重量级的安装器或配置管理就能部署,而且令负载平衡、高可用性和动态资源分享等成为可能。(.…) 不变微服务可以在任何环境下测试,因为他们对启动自己的编排层(orchestration layer)依赖很小。
不变性架构的优势在Facebook、Lambda架构和新型数据库Datomic中均已有所体现,你做好迎接一趋势的准备了吗?
查看英文原文: Immutability Changes Everything Including Microservices