Disruptor单写原则的疑惑
我的理解是:单写原则适用于单机情况,并且只能启动一个服务实例,这种情况下的确可以做到单线程写入操作。
但是如果是集群的环境下,或者是单机启动多个服务实例,如何保证单写原则呢?
进一步考虑如果是集群环境下,领域模型的自身一致性规则(写入操作改变状态),是否也会冲突呢?
我的理解是:单写原则适用于单机情况,并且只能启动一个服务实例,这种情况下的确可以做到单线程写入操作。
但是如果是集群的环境下,或者是单机启动多个服务实例,如何保证单写原则呢?
进一步考虑如果是集群环境下,领域模型的自身一致性规则(写入操作改变状态),是否也会冲突呢?
集群如果是内存矩阵也就是数据网格情况下,一台机器内存更改会立即同时复制到其他机器,是一种主从关系,一个领域模型只能允许在一台服务器上发生更改,类似数据库分区。
分区分区,所谓分区,就是用户表模型在A服务器,产品表模型在B服务器。请求发送到B服务器想操作用户表模型也无法成功。让负载平衡根据概率随机乱发的那是无状态服务,领域模型修改属于有状态的操作。
原来如此,多谢板桥答疑解惑!!
如果是无状态服务的集群配置呢? disruptor怎么保证单写原则?