ncqrs架构中的domain的id怎么都是guid类型的,我的是long的怎么办

想请教一下啊,看了几个架构的domain model的id都是guid类型的,我的是long类型的,我想继续采用long类型的,有没有什么好的办法?
用long类型你会很麻烦,因为你需要自己去确保Long是唯一的。
要么用数据库锁来确保long是唯一的。
那为什么淘宝,新浪围脖都用的是数字id,我看jdon的帖子都用的是数字型,请问cqrs模式下如何实现呢,请提下思路啊
2012-09-28 11:23 "@zdp120"的内容
那为什么淘宝,新浪围脖都用的是数字id,我看jdon的帖子都用的是数字型,请问cqrs模式下如何实现呢,请提下思路啊 ...

jdon怎么实现只能让banq回答了,呵呵。我能想到的“既要自动递增,又要整型,同时要在并下下确保不会有重复的ID产生”,那在event sourcing这种架构下,我觉得只能通过lock table了。每次获取下一个Long值的时候,用锁。这样才能确保唯一性。

要么就是in-memory模式,这样只要在内存中控制long的自增即可。但是同样要用内存的原子锁。但是in-memory模式我觉得门槛是很高的。尤其是事务的支持基本很难做到。

或者,也许banq已经引入了disruptor这种并发处理框架,可以将请求转换为线性执行。这样domain处理业务逻辑的时候就没并发了,那要实现自增就很容易了。但是disruptor和ddd结合,也没那么容易的。需要你在实现业务逻辑时,可能需要将一个过程打断成几个事件去执行。
[该贴被tangxuehua于2012-09-28 13:10修改过]