• 常见混淆名词


    对常见名词的总结

    业务逻辑

    • 统称,功能性逻辑

    状态机

    • 状态之间的切换流转,以及约束

    设计模式

    • 设计最佳实践,会深入到代码层面

    工作流

    • 分成:顺序工作流,状态工作流
    • 外部参数,外部事件作为数据交换

    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这种
  • 相关阅读:
    dynamic不能使用扩展方法
    C# .Net 中字典Dictionary<TKey,TValue>泛型类 学习浅谈
    C# .Net List<T>中Remove()、RemoveAt()、RemoveRange()、RemoveAll()的区别,List<T>删除汇总
    Tomcat配置虚拟目录映射
    JAVA中令人疑惑的字符串
    JAVA控制台版斗地主
    JAVA学习路线
    vue安装(npm和cnpm)
    ThinkPad笔记本无法禁用触摸屏【亲测,有用】
    boostrap弹框之BootstrapDialog
  • 原文地址:https://www.cnblogs.com/aarond/p/keywords.html
Copyright © 2020-2023  润新知