Microservices architecture has been widely adopted to develop software systems, but some of its trade-offs are often ignored. In particular, the introduction of eventual consistency has a huge impact on the complexity of the application business logic design. Recent proposals to use transactional causal consistency in serverless computing seems promising, because it reduces the number of possible concurrent execution anomalies that can occur due to the lack of isolation. We propose an extension of the aggregate concept, the basic building block of microservices design, that is transactional causal consistent compliant. A simulator for the enriched aggregates is developed to allow the experimentation of this approach with a business logic rich system. The experiment results shown a reduction of the implementation complexity. The simulator is a publicly available reusable artifact that can be used in other experiments.
翻译:微观服务结构被广泛采用来开发软件系统,但其一些取舍往往被忽略。特别是,引入最终一致性对应用商业逻辑设计的复杂性产生了巨大影响。最近提出的在无服务器计算中使用交易因果一致性的建议似乎很有希望,因为它减少了因缺乏孤立而可能发生的同时执行异常的数量。我们提议扩大总体概念的范围,即微观服务设计的基本构件,即交易因果一致的合规性。为浓缩集成开发了一个模拟器,以便用商业逻辑丰富系统试验这一方法。实验结果显示执行复杂性的降低。模拟器是可供公众使用的可用于其他实验的可再使用的文物。