事件和状态
什么是状态?
状态就是历史事件的影响累加,在某一个时间点上的数据快照。
由于一系列的事件的触发,这些事件按照序列(发生时间、先后顺序)影响并改变了数据当前的结果(快照)。
这些事件对数据的影响可能是局部的(比如用户的操作,可能影响范围只被限定在这个玩家的数据边界内),也有可能是全局的(比如系统的操作、规则的变化,影响范围可能就是所有的玩家)。
无论如何,状态不过是从初始值,不断的应用事件,逐步演变到某一个事件序列的快照,他是那个序列点的计算结果。
一般我们谈论状态的时候,如果没有特别指明,那个时间序列点就是现实世界中的现在进行时,比如当我打字写到这段话的时候(2019年09月21日04:18:23),那么我目前所能观察到的所有状态,都是基于宇宙大爆炸到现在为止无数事件累计影响的结果。
历史无法改变,一眨眼,瞬息之间,天地万物已然与前一刻有所不同,无论如何反抗,都无法重来。
我时常在想,现实宇宙是多么的强大,能够容纳不计其数的原子、粒子进行不断的组合和运动。
我并不是一名物理学家,如果把整个宇宙当做是一个容器,这个容器内的某一个(空间)点上,原子、粒子相互运动产生影响,随着(时间)的推移,逐步影响扩散到整个容器范围内的所有元素运动轨迹。
换句话来讲,在上面的比方中,当宇宙中的某一点,在某一个时刻产生了一个事件,时间会把它的影响扩散到整个宇宙,更不用说,每时每刻,在每一个点上都在产生这种影响。
所以我们不可能预测到下一个时间点,它们的状态和现在的状态究竟有什么不同,短时间内的宏观预测是相对准确的,这种准确的来源,其实就是短时间内,它所带来的影响还没有扩散到我们无法想象的程度,也是我们从小到大,成长给我们带来的“经验”,但是随着时间范围的拉大,更多的事件参与其中,我们便再也无法得知到那时究竟会怎样?这就是所谓的蝴蝶效应。
一致性
在上面的比喻中,我讲到,每个人都是从婴儿、小孩逐步成长到现在,我们相信成长给我们带来的“经验”,我们相信这些经验给我们带来的感觉,那种感觉使我们能够在我们的观察中,从容应对,以及预测短时间内所要发生的一系列事情(状态预测、基于目前的快照)。
想象一下,如果我们正在吃饭,一闭眼,一睁眼,发现自己突然出现在了珠穆朗玛峰的峰顶,物理精神病患者(脑部物理损伤,唉,就是傻子)可能会吹着刺骨的寒风,远眺喜马拉雅山脉。但作为正常人的我们来讲,可能都会认为自己是在做梦,毕竟他不符合我们的感觉,也就是不符合我们的认知(一致性)。
所以究竟什么是一致性?它是对历史的总结,对经验的累积,对训练的结果产生一致的期待。
一致性使我们的生活更加的平滑、简单。
就好比是做UI交互设计,为什么风格、元素以及交互的模式都要保持相对的统一?首先它减少了重复的工作量,最为重要的是,用户在使用一段时间过后,它就能够适应你的模式,对你的模式产生了一致性的认知,无论我们进行怎样的组合,哪怕没有教用户怎么使用一个新的UI界面,他们也能从之前的经验中得到可能的答案。
所以,一致性使人们能够对这些模式产生总结,使人们能够更加轻松的,而更加高效的使用我们的产品。
再来讲状态的一致性,我们就知道它所要求的具体是什么了,那就是某一个时间点的状态(快照),它必须符合我们的预期,这个预期的来源是我们相对于上一个时间点的状态观察,执行了新的操作(事件),所预测的合理结果。
在这里,时间序列是其中非常重要的一个因素,当然我们也可以理解为先后顺序,我们不希望在下一秒突然站在珠穆朗玛峰的峰顶,自然也不希望,我的钱在下一秒就突然消失不见了。
一致性级别
...未完待续...
并发以及隔离
...未完待续...
“容器”管理
...未完待续...
原文:https://www.cnblogs.com/xingxueliao/p/11561263.html