实施DDD的幽默:DDD落地需要专门的框架吗?

19-06-18 banq
                   

                   

2
andrewyxh
2019-06-24 12:45

banq大叔,您好,刚开始了解jdon框架,也大概看了一些相关文档,在考虑要不要使用它时,有几个顾虑,希望能帮解答一下:

1.jdon有专门的缓存层,但我服务器的内存不可能真的像DDD的假设那样无限大, jdon如何控制cache,比如设置过期时间等...

2.jdon和spring的很多注解非常相似,让人容易迷惑. 用工程中AppContextJdon文件方式互相注入,是不是就可以不用刻意区分对象是在spring还是jdon的管理中,2者是不是就互通了?

3.现在微服务盛行,jdon如何支持分布式的事件?

4.传统3层价格的一个事务逻辑,在DDD可能会被拆成链式的事件触发. 如果某一步失败,应该怎么处理,才能保持最终的数据一致性?

5.同时看了一些Axon 4.1的介绍,您觉得它和jdon相比,二者有何优劣?

banq
2019-06-24 14:14

1.jdon框架的缓存是可插拔的单独组件,由专门组件控制,默认是ehcache,可以修改xml改为其他.

2.jdon和spring可以通过AppContextJdon文件方式互相注入,互通。

3.现在微服务盛行,一个微服务一个上下文,一个上下文中有一个或多个聚合,jdon通过支持聚合根发布领域事件的方式实现上下文之间调用,上下文内部通过传统同步方式调用

4.传统3层价格的一个事务逻辑,在DDD可能会被拆成链式的事件触发. 如果某一步失败,应该怎么处理,才能保持最终的数据一致性?这是通过领域事件+事件溯源+事件排序+事件正好一次传递等方式实现最终一致性+强一致性。

5.同时看了一些Axon 4.1的介绍,您觉得它和jdon相比,二者有何优劣?Axon相对好些,但是在异步和EDA方面没有Jdon有特色,Jdon框架定位在DDD的pub-sub的实现上,将聚合之间,也就是微服务之间引入解耦,通过单独写模式实现数据写入的高并发安全,Axon比较全面一些,平坦一些,Jdon类似刺客,Axon类似坦克。

 

cdy1996
2019-08-07 10:35

看到banq大叔的回答,水平高同时又很谦虚