Closed tangxuehua closed 8 years ago
目前的设计,当enode处理command的机器扩容时,可能会导致并发冲突。所以解决思路是:每台机器处理每个聚合根的命令时,内存中判断一下该命令是否应该由这台机器处理。判断的依据是当前聚合根的ID的hashcode % 机器数。机器数哪里来?通过equeue获取。如何知道当前机器在这些机器中排第几?也是通过EQueue获取。当然,enode不能直接耦合equeue,但可以让equeue把信息设置给enode。
该问题不严重,不做处理。
目前的设计,当enode处理command的机器扩容时,可能会导致并发冲突。所以解决思路是:每台机器处理每个聚合根的命令时,内存中判断一下该命令是否应该由这台机器处理。判断的依据是当前聚合根的ID的hashcode % 机器数。机器数哪里来?通过equeue获取。如何知道当前机器在这些机器中排第几?也是通过EQueue获取。当然,enode不能直接耦合equeue,但可以让equeue把信息设置给enode。