10得票1回答
GAE HDR:在XG事务中,按键检索的实体是否具有最终一致性?

请考虑“事务用途”中的第二个示例(“使用命名键更新实体,如果尚不存在,则创建实体”): https://developers.google.com/appengine/docs/java/datastore/transactions 现在考虑这种情况。一个多人游戏只允许两个玩家之间进行一次...

8得票1回答
如何在基于DDD的应用程序中实现结算?

首先,我有一个电子商务网站中的两个独立聚合体购物篮和订单。 购物篮聚合体有两个实体购物篮(作为聚合根)和购物项,定义如下(为简单起见,已删除工厂和其他聚合方法): public class Basket : BaseEntity, IAggregateRoot { public i...

8得票6回答
寻找分布式/可扩展的数据库解决方案,所有节点都可以读写?不是MongoDB吗?

我希望实现一个可以广泛分布且每个节点都可以读写的数据库,同时具有最终一致性。你应该在哪里寻找? 我认为MongoDB似乎是一个不错的选择,直到我遇到这个问题。显然,所有MongoDB节点都是可读的,但只有一个主节点是可写的?有没有办法解决这个问题?我不能允许单点故障影响对数据库的写入操作。

8得票5回答
微服务,CQRS:最终一致性 vs 强一致性(写后读一致性)

使用CQRS和事件存储,微服务之间的编排可以实现最终一致性,其中一个微服务的更改需要一些时间才能传播到与其相关的其他下游系统(基本上是其他微服务)。 如果数据非常重要,两个微服务都应该具有强一致性,那么有哪些选项呢?我能想到的一个选项是使用写入缓存,比如数据网格,但这在分布式系统中非常脆弱。

8得票2回答
微服务数据复制模式

在微服务架构中,通常有两种方式可以让两个微服务进行通信。假设服务A需要从服务B获取信息。第一种选择是远程调用,通常在HTTPS上同步进行,因此服务A查询由服务B托管的API。 第二种选择是采用事件驱动架构,在这种异步方式下,服务B的状态可以被发布并被服务A消费。使用这种模型,服务A可以使用...

8得票1回答
当使用最终一致性数据存储时,用户是否应该被引导到特定的数据节点?

当在使用分布式数据存储的农场中运行 Web 应用程序(在我的情况下是 CouchDB)时,我是否应该确保特定用户始终被定向到相同的数据存储实例? 在我看来,另一种方法,即任何 Web 请求都可以使用任何数据存储,会增加大量复杂性以处理一致性问题(重试、检查等)。另一方面,如果给定会话中的用户...

7得票2回答
CQRS - 最终一致性

我有以下场景需要按照CQRS模式实现: 1. 用户登录 2. 用户输入一些保险细节 3. 用户请求进行决策 4. 用户查看决策结果 这似乎很简单,但我的问题出现在第三步和第四步之间。在第三步,我发送一个"ApplyForDecision"命令,从承保服务中获取决策,然后将具有决策结果的事件...

7得票1回答
Hazelcast: 多节点一致性相关问题

(我找不到一份解释得好的资料,所以如果有其他来源的话,你可以直接指向那里。) Hazelcast会在群集中所有节点之间复制数据。因此,如果在节点中更改了数据,节点是否会更新自己的副本并将其传播到其他节点? 我在某个地方读到说每个数据都属于一个节点,Hazelcast是如何确定owner的呢...

7得票2回答
CloudKit是强一致性还是最终一致性?

官方文档是否有提到CloudKit的一致性?根据我的测试,它似乎是最终一致的-在写入记录后立即读取可能会成功,也可能不会(返回空结果): CKDatabase *database = [[CKContainer defaultContainer] publicCloudDatabase]; ...

7得票2回答
无PUT的REST

ThoughtWorks Technology Radar July 2014在Techniques / Trial下提到了一种新趋势,称为REST without PUT。他们解释道: 在上一个雷达中,我们谈到了捕获显式领域事件,强调记录触发状态转换的业务相关事件而不仅仅是CRUD实体。...