分层思想
为什么要分层
分层的根本原因在于, 人类的脑容量是有限的—大约只能同时处理4-5个事物. 因此, 需要通过分层的方式对信息进行打包/抽象, 从而使人脑能够处理更多的信息.
当正则表达式通常与大型数据集相匹配时它们的编写必须高效。
关于面向服务架构和模块化、云原生
本文我们将学习到一种常见的柔性事务解决方案:消息一致性事务方案。
对于TCC型事务,跨系统的调用均是基于服务间的直接调用,即很大程度上是同步调用。基于TCC方案能够保证主子事务同时成功,同时失败。
但实际开发中,由于多方面的考虑,我们会将服务拆分为异步方式,一般是基于MQ进行服务间的解耦,服务发起方执行完本地业务操作后发送一条消息给到消息中间件(比如:RocketMQ、RabbitMQ、Kafka、ActiveMQ等),被动方服务从MQ中消费该消息并进行业务处理,从而形成业务上的闭环。
这种场景下,我们还是希望异步的多个业务操作同时成功,同时失败,基于TCC的同步型事务解决方案就不可行了,这时就需要祭出可靠消息最终一致性方案。