2023-09-09

Immutable

大家好,今天聊Immutable

Immutable或者说Immutability是指,在设计系统的时候,对状态的管理尽量不要更改或者覆盖,而是尽量采用序列追加的方式进行,这种设计方式我们称之为“不变性”,也就是Immutability.

传统的交易与事务性处理场景下,系统的设计大多采用Mutable(也就是可变的方式)对状态进行更改,这样的好处是可以提高性能并获取实时状态,带来的缺陷就是,如果要追溯数据和状态的变更,往往悔之晚矣。

之前遇到一家公司的财务抱怨自己公司的报表系统有问题,在沟通之前,扶墙老师准备了三种预案,但具体沟通后发现具体情况没有落在任何一个预案中,原因简单到只是因为开发人员把所有数据变更都覆盖掉了,根本没有考虑数据统计场景的需求,实际上,稍微有点儿Immutable系统设计的意识,也不至于出现这种情况。

今天,磁盘越来越便宜,大数据基础设施也越来越成熟和完善,很多系统的设计完全可以从一开始就考虑Immutable的设计。

欢迎加入「福强私学」

跨越2190个日夜,始终坚持“实践 + 原创”打造的715125字专属知识库,囊括了(但不限于)从职场、技术、管理与商业等多个板块的内容。

  • 一个ChatGPT触达不到的地方
  • 一个带你超越AI/人工智能的地方
  • 一个与你一起成长的地方

https://afoo.me/kb.html