【发布时间】:2012-01-27 18:41:34
【问题描述】:
我想维护一个分布在 N 个负载平衡服务器之间的对象列表:每当客户端更改一个服务器上的列表时,我希望这些更改迁移到其他服务器。所以,我想这是一个主主复制的例子。 处理这个最简单的方法是什么?一个简单的事实是,对列表中对象的每一次更改都有一个相关的不断增加的版本号附加到它上面。因此,如果在两台不同的服务器上更改了一个项目,并且这两个 deltas 进入第三台服务器,则可以解决冲突。
编辑:澄清:我对 Memcached 和 Redis 等分布式键值存储非常熟悉。这不是这里的问题;我感兴趣的是一种解决共享列表中冲突的机制:如果服务器 A 更改列表中的一个项目,而服务器 B 删除该项目,例如,如何以编程方式解决冲突。
【问题讨论】:
-
到目前为止你有什么代码...?
-
请不要在标题前加上“c#:”。这就是标签的用途。
-
你的问题到底是什么?
-
我不会失败,但 MSFT 不是用 Azure 构建了类似的东西,你可以使用吗?我的意思是,您似乎真的无缘无故地重新发明了轮子。
-
@Jacko 感谢您的更新...仍然有点不清楚...您描述的情况下的冲突解决取决于用例...您可以描述用例或答案只能是使共享列表上的“冲突解决策略”可配置......在现实世界的项目中使用了几种策略,如“直写”、MVVC 等......
标签: c# .net windows distributed-caching