常见混淆名词
对常见名词的总结
业务逻辑
- 统称,功能性逻辑
状态机
- 状态之间的切换流转,以及约束
设计模式
- 设计最佳实践,会深入到代码层面
工作流
- 分成:顺序工作流,状态工作流
- 外部参数,外部事件作为数据交换
saga
- 事务模型,又叫做长时间运行的事务(Long-running-transaction)
规则引擎
- 状态机的增强版,一堆堆的规则、但是不体现step步骤关联性
分布式事务
- JTA 2阶段提交
- TCC TRY/CONFIRM/CANCEL
- saga 见上
领域事件
- 带业务色彩的事件(领域层面)
消息机制
- 消息的发送接收(框架层面)
状态机、工作流、SAGA 区别:
- 状态机:更偏向瞬时的(尽管没有限制说必须瞬时,但是一般用在瞬时)
- 工作流:没有状态,也能成为工作流,工作流里的step(步骤)很重要,就是工作流更注重步骤的体现(即便没有状态机也可以,有也可以)
- SAGA:长事务模型,底层为状态机工作流,其实是建立在上述两者之上的
JTA、TCC、SAGA 区别:
- JTA:java事务API,有多种不同的实现,一般为两阶段提交,特点:底层持久层必须支持事务特性、改造工作量小
- TCC:try、confirm、cancel模型,每一个业务接口需要多写2个接口,代码量大,特点:底层不支持事务特性也可以、改造工作量大
- SAGA:多用于三方系统接口多的事务流程,需要给每个业务点多写1个错误时触发的函数。特点:改造工作量中等,不确保事务隔离特性
领域事件、消息机制 区别:
- 领域事件:带明确业务行为的事件,如:订单已创建事件等、更有利于领域逻辑的传递
- 消息机制:更偏framework层面,message、event、consumer这种
自省推动进步,视野决定未来。
心怀远大理想。
为了家庭幸福而努力。
商业合作请看此处:https://www.magicube.ai
心怀远大理想。
为了家庭幸福而努力。
商业合作请看此处:https://www.magicube.ai
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】