我在领域驱动开发中遇到的一些问题
1.聚合根内的一致性是由聚合根来规范的,那保存整个聚合一定是要在一个线程中实现吗?若是这样的话,岂不是用到jta事务? 举个例子吧:
订单、 订单项 、商品 这个是一个比较常见的聚合了,订单是聚合根。若是我要新增一个订单的时候,要涉及到保存订单 订单项 以及里面的商品信息。这个是一定要顺序执行,放在一个事务里面?还是说我可以分多线程,触发各自的保存事件?
2.以上的例子中,若是分多线程分别触发事件,若是其中某个保存事件执行失败,该如何操作?EventSourcing吗? event是在disruptor的ring中的,一旦被取走,怎么重新触发这个事件呢?
3.在jivejdon中 EventSourcing和eventstore是如何实现的?
以上几个问题,一直困扰着我,求DDD高手指教。