架构(四)架构设计参考规范

业务分析业务模式 业务战略 能力矩阵 价值链 业务架构业务用例 业务流程 概念模型 业务组件 应用架构分析模型 系统级架构Drawio C4 模版 应用级架构 容器级架构 组件级架构 服务设计服务 API 服务能力 能力定义 归属领域 能力链接 促销活动创建服务能力 提供促销活动创建的服务能力,包括活动创建、库存添加、优惠叠加互斥规则设定 促销领域 优惠计算服务能力 提供优惠计算的服务能力,包括优惠规格(活动、权益)发现、排序、计算、筛选、累计&分摊、过滤 优惠领域 领域模型 逻辑模型类图 时序图 ...

MySQL事务redo和undo日志

事务有 4 种特性:原子性、一致性、隔离性和持久性。那么事务的四种特性到底是基于什么机制实现呢? 事务的隔离性由锁机制实现。 事务的原子性、一致性和持久性由事务的 redo 日志和 undo 日志来保证。 redo log 称为重做日志,提供再写入操作,恢复提交事务修改的页操作(我们对数据进行修改,数据会报存在内存中,此时还没有保存在磁盘当中,如果此时由于不可抗因素如宕机,事务将不能保证持久性。而 redo log 就阔以保证了,我们在修改完数据之后,将相关的数据保存到 redo log 中,就算出现宕机我们也可以把更新过的数据从 redo log 中进行恢复刷新到磁盘中),用来保证事务 ...

架构(三)通用可编排订单状态机引擎设计

简介: 订单状态流转是交易系统的最为核心的工作,订单系统往往都会存在状态多、链路长、逻辑复杂的特点,还存在多场景、多类型、多业务维度等业务特性。在保证订单状态流转稳定性的前提下、可扩展性和可维护性是我们需要重点关注和解决的问题。 一、背景订单状态流转是交易系统的最为核心的工作,订单系统往往都会存在状态多、链路长、逻辑复杂的特点,还存在多场景、多类型、多业务维度等业务特性。在保证订单状态流转稳定性的前提下、可扩展性和可维护性是我们需要重点关注和解决的问题。以高德打车业务的订单状态为例,订单状态就有乘客下单、司机接单、司机已到达乘车点、开始行程、行程结束、确认费用、支付成功、订单取消、订单关 ...

DDD(六)清晰架构

原文:https://herbertograca.com/2017/11/16/explicit-architecture-01-ddd-hexagonal-onion-clean-cqrs-how-i-put-it-all-together/ > https://www.jianshu.com/p/4cf50cf3e127清晰架构(Explicit Architecture): 融合 DDD、六边形架构、洋葱架构、整洁架构、CQRS 这篇文章是软件架构编年史(译) 的一部分,这部编年史由一系列关于软件架构的文章组成。在这一系列文章中,我将写下我对软件架构的学习和思考,以及我是如何运 ...

DDD(五)CQRS

原文:https://herbertograca.com/2017/10/19/from-cqs-to-cqrs/ > https://www.jianshu.com/p/ab3843093903 这篇文章是软件架构编年史(译)的一部分,这部编年史由一系列关于软件架构的文章组成。在这一系列文章中,我将写下我对软件架构的学习和思考,以及我是如何运用这些知识的。如果你阅读了这个系列中之前的文章,本篇文章的的内容将更有意义。如果我们的应用以数据为中心,比如,仅实现基本的 CRUD 操作而把业务流程(例如,哪些数据需要修改,应按什么顺序修改)留给用户;其优点是用户可以在无需改变应用的情况下改 ...

DDD(四)整洁架构

原文:https://herbertograca.com/2017/09/28/clean-architecture-standing-on-the-shoulders-of-giants/ > https://www.jianshu.com/p/b565f0c00c0c 这篇文章是软件架构编年史(译)的一部分,这部编年史由一系列关于软件架构的文章组成。在这一系列文章中,我将写下我对软件架构的学习和思考,以及我是如何运用这些知识的。如果你阅读了这个系列中之前的文章,本篇文章的的内容将更有意义。Robert C. Martin(大名鼎鼎的 Uncle Bob)于 2012 年在他的一篇 ...

DDD(三)洋葱架构

原文:https://herbertograca.com/2017/09/21/onion-architecture/ > https://www.jianshu.com/p/d87d5389c92a 这篇文章是软件架构编年史(译)的一部分,这部编年史由一系列关于软件架构的文章组成。在这一系列文章中,我将写下我对软件架构的学习和思考,以及我是如何运用这些知识的。如果你阅读了这个系列中之前的文章,本篇文章的的内容将更有意义。2008 年 Jeffrey Palermo 提出了洋葱架构。在我看来,它在端口和适配器架构的基础上贯彻了将领域放在应用中心,将传达机制(UI)和系统使用的基础设施 ...

DDD(二)端口和适配器架构

原文链接:https://herbertograca.com/2017/09/14/ports-adapters-architecture/转载:https://www.jianshu.com/p/f39f4537857e 这篇文章是软件架构编年史(译)的一部分,这部编年史由一系列关于软件架构的文章组成。在这一系列文章中,我将写下我对软件架构的学习和思考,以及我是如何运用这些知识的。如果你阅读了这个系列中之前的文章,本篇文章的的内容将更有意义。2005 年,Alistair Cockburn 构思了端口和适配器架构 (又称六边形架构)并记录在他的博客中。下面这句话就是他对该架构的目标的定义 ...