Jdon框架与Spring框架对比
Jdon框架与Spring框架可以集成在一起工作,但是两者导向路线不同,现对比如下图:
Jdon | Spring | |
领域驱动设计DDD | Jdon主要是面向领域模型驱动开发的框架 | 不直接支持 |
业务实体 | Jdon将业务实体作为可变的实体对象置于内存中管理 | 委托给Hibernate或JDBC管理 |
微服务 | 内部微服务已经根据DDD有界上下文Bounded Context进行分离,只需要借助SpringBoot QBit Dropwizard Ratpack对外暴露RESTful端口即可, | SpringBoot 无Bounded Context划分机制,微服务粒度划分没有依据。 |
异步机制 | Jdon框架内部业务实体与其他组件交互都是使用消息事件,天然松耦合异步机制,并发性好,再借助Ratpack可实现高性能编程 | Spring缺省默认是在服务类中直接同步调用Hibernate等业务实体,业务实体是被调用,不是主动激活的。 |
实体模型特点 | 充血模型 | 贫血模型 |
CQRS | 支持 | 不支持 |
EDA | 支持 | 不支持 |
EventSourcing | 支持 | 不支持 |
分布式拓展性 | 由于融入了事件异步机制,将事件消息直接导入到JMS 或Karka作为日志源记录,再通过复制这些日志到其他服务器,可实现类似分布式数据库系统的功能。 | 不直接支持 |
并发编程 | 基于Diruptor发布并发事件,并发性高,无堵塞 | 需要Spring Rreactor |
Reactive | 整体编程思路基于Reative,不同与传统编程模型 | 2017年的spring 5以后才支持Reactive |