Skip to main content

Transactional Causal Consistent Microservices Simulator

  • Conference paper
  • First Online:
Distributed Applications and Interoperable Systems (DAIS 2023)

Abstract

Microservice 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 and microservices seem promising because it reduces the number of possible concurrent execution anomalies that can occur due to the lack of isolation. However, existing tools are technologically complex, making experimentation with complex business logic difficult. We propose a transactional causal consistency simulator to test the behavior of business logic rich microservices applications. It promotes the design of complex business logic transactional causal consistent microservices in a software developer-friendly environment. The simulator is a publicly available artifact that can be reused in other experiments.

This work was partially supported by Fundação para a Ciência e Tecnologia (FCT) through projects UIDB/50021/2020 (INESC-ID) and PTDC/CCI-COM/2156/2021 (DACOMICO). Artifacts available in https://zenodo.org/record/7854925.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 49.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 64.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    https://github.com/socialsoftware/quizzes-tutor.

  2. 2.

    https://spockframework.org/.

References

  1. Akkoorath, D.D., et al.: Cure: strong semantics meets high availability and low latency. In: 2016 IEEE 36th International Conference on Distributed Computing Systems (ICDCS), pp. 405–414 (2016). https://doi.org/10.1109/ICDCS.2016.98

  2. Bailis, P., Ghodsi, A.: Eventual consistency today: limitations, extensions, and beyond. Commun. ACM 56(5), 55–63 (2013)

    Article  Google Scholar 

  3. Braun, S., Bieniusa, A., Elberzhager, F.: Advanced domain-driven design for consistency in distributed data-intensive systems. In: Proceedings of the 8th Workshop on Principles and Practice of Consistency for Distributed Data, PaPoC 2021. Association for Computing Machinery, New York (2021). https://doi.org/10.1145/3447865.3457969

  4. Bravo, M., Gotsman, A., de Régil, B., Wei, H.: UniStore: a fault-tolerant marriage of causal and strong consistency. In: 2021 USENIX Annual Technical Conference (USENIX ATC 2021), pp. 923–937. USENIX Association (2021). https://www.usenix.org/conference/atc21/presentation/bravo

  5. Clements, P., et al.: Documenting Software Architectures: Views and Beyond, 2nd edn. Addison-Wesley, Boston (2011)

    Google Scholar 

  6. Evans, E.: Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison Wesley, Boston (2003)

    Google Scholar 

  7. Fowler, M.: Microservices. https://martinfowler.com/articles/microservices.html

  8. Fowler, M.: Patterns of Enterprise Application Architecture. Addison-Wesley, Boston (2003)

    Google Scholar 

  9. Fox, A., Brewer, E.A.: Harvest, yield, and scalable tolerant systems. In: Proceedings of the The Seventh Workshop on Hot Topics in Operating Systems, HOTOS 1999, p. 174. IEEE Computer Society, USA (1999)

    Google Scholar 

  10. Garcia-Molina, H., Salem, K.: Sagas. In: Proceedings of the 1987 ACM SIGMOD International Conference on Management of Data, SIGMOD 1987, pp. 249–259. Association for Computing Machinery, New York (1987). https://doi.org/10.1145/38713.38742

  11. Haywood, D.: In defense of the monolith. Microservices vs. Monoliths - The Reality Beyond the Hype (2017). https://www.infoq.com/minibooks/emag-microservices-monoliths/

  12. Lykhenko, T., Soares, R., Rodrigues, L.: Faastcc: efficient transactional causal consistency for serverless computing. In: Proceedings of the 22nd International Middleware Conference, Middleware 2021, pp. 159–171. Association for Computing Machinery, New York (2021). https://doi.org/10.1145/3464298.3493392

  13. Mendonça, N.C., Box, C., Manolache, C., Ryan, L.: The monolith strikes back: why istio migrated from microservices to a monolithic architecture. IEEE Softw. 38(5), 17–22 (2021). https://doi.org/10.1109/MS.2021.3080335

    Article  Google Scholar 

  14. O’Hanlon, C.: A conversation with werner vogels. Queue 4(4), 14–22 (2006). https://doi.org/10.1145/1142055.1142065

    Article  Google Scholar 

  15. Pereira, P., Silva, A.R.: socialsoftware/business-logic-consistency-models: v1.0 (2023). https://doi.org/10.5281/zenodo.7854925

  16. Preguiça, N., Marques, J.M., Shapiro, M., Letia, M.: A commutative replicated data type for cooperative editing. In: 29th IEEE International Conference on Distributed Computing Systems, ICDCS 2009, pp. 395–403. IEEE (2009). https://doi.org/10.1109/ICDCS.2009.20

  17. Richardson, C.: Microservices Patterns. Manning Publications Co., New York (2019)

    Google Scholar 

  18. Santos, N., Rito Silva, A.: A complexity metric for microservices architecture migration. In: 2020 IEEE International Conference on Software Architecture (ICSA), pp. 169–178 (2020). https://doi.org/10.1109/ICSA47634.2020.00024

  19. Sun, C., Jia, X., Zhang, Y., Yang, Y., Chen, D.: Achieving convergence, causality preservation, and intention preservation in real-time cooperative editing systems. ACM Trans. Comput.-Hum. Interact. 5(1), 63–108 (1998). https://doi.org/10.1145/274444.274447

  20. Thönes, J.: Microservices. IEEE Softw. 32(1), 116–116 (2015)

    Article  Google Scholar 

  21. Toumlilt, I., Sutra, P., Shapiro, M.: Highly-available and consistent group collaboration at the edge with colony. In: Proceedings of the 22nd International Middleware Conference, Middleware 2021, pp. 336–351. Association for Computing Machinery, New York (2021). https://doi.org/10.1145/3464298.3493405

  22. Wu, C., Sreekanti, V., Hellerstein, J.M.: Transactional causal consistency for serverless computing. In: Proceedings of the 2020 ACM SIGMOD International Conference on Management of Data, SIGMOD 2020, pp. 83–97. Association for Computing Machinery, New York (2020). https://doi.org/10.1145/3318464.3389710

  23. Yu, W., Ignat, C.L.: Conflict-free replicated relations for multi-synchronous database management at edge. In: IEEE International Conference on Smart Data Services, 2020 IEEE World Congress on Services, Beijing, China (2020). http://hal.inria.fr/hal-02983557

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to António Rito Silva .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 IFIP International Federation for Information Processing

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Pereira, P., Silva, A.R. (2023). Transactional Causal Consistent Microservices Simulator. In: Patiño-Martínez, M., Paulo, J. (eds) Distributed Applications and Interoperable Systems. DAIS 2023. Lecture Notes in Computer Science, vol 13909. Springer, Cham. https://doi.org/10.1007/978-3-031-35260-7_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-35260-7_4

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-35259-1

  • Online ISBN: 978-3-031-35260-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics