幽默:没有逻辑约束的微服务

图中鸡蛋克和鸡蛋黄以及炉火三个微服务,如果为了吃一个煎鸡蛋,需要聚合这三个微服务调用。
这是过于细分导致的问题,忽视了业务逻辑,如果煎鸡蛋是业务逻辑,那么为了完成这个目标,需要聚合这三个微服务。
但是如果熟悉DDD,这里缺了一个DDD聚合,煎鸡蛋应该是这个聚合根,为了获得一个煎鸡蛋,需要在这个聚合根实体中聚合几个组成部分:生蛋壳和生蛋黄以及炉火。
因此,这个煎鸡蛋聚合根可以在一个微服务上下文中被调用,微服务委托煎鸡蛋聚合根完成一个熟的煎鸡蛋,鸡蛋从生到熟的过程是封装在 煎鸡蛋聚合根内部完成,这是一个逻辑一致性的过程。

什么是逻辑不一致性?
就是图中所示,一个熟鸡蛋是由生鸡蛋打碎,取出蛋黄,然后放入有炉火的锅中煎炒,这个过程必须原子化全部完整完成,完成一部分,都无法制成熟的煎鸡蛋。
这个流程是逻辑前后必须一致,步骤不能乱,第一步后第二步,才是逻辑上连续性,一致顺序性。

微服务只启动了类似界限上下文BC的划分边界的作用,但是因为没有上下文Context这个基准,就变成了胡乱划分边界。

上下文重要性
当你没有意识到上下文时,你永远就被置于这个前提条件下的上下文中,身在庐山不识庐山真面目,当局者迷。

上下文:英文Context,中文里或指:“语境”、“情况”、“环境”、“情境”、“作用域”、“范围”、“历史”、“背景”、“来龙去脉”、“路径、道”、“顺势、格局”、“假设、前提”、“周期”...中文没有专门单词,导致人们忽视其通用广泛存在。

识别上下文是界定问题,上下文中的符号推理是解决问题。

符号:数字、公式、图形、语言文字、计算机语言、DSL、UML、本体等。
符号推理:模型、建模、算法等。

如果说“上下文”是被大多数人忽视其存在,那么“符号推理”是大部分人忽视的能力。

其实,财务算账是一种符号推理;律师辩护也是一种符号推理,为了防止律师辩护和法官判定太注重符号推理,脱离现实,陪审团机制就很重要。
通常人们仅限制于自己专业领域的符号推理,但不自知,如果将符号推理抽象成广泛层面,就变成了如罗素维特根斯坦等现代哲学。

尽管符号推理受限于上下文,但是由于符号推理的强逻辑性,最终可能会突破上下文限制,走出当前迷局。这是创新发展的唯一模式。
什么是皮尔士的符号理论?