Estratégias para Implementação de Coreografia de Microsserviços

  • João Pedro Fernandes UTFPR
  • Edson Tavares de Camargo Universidade Tecnológica Federal do Paraná

Resumo


A arquitetura de microsserviços incentiva a composição de serviços através da coreografia. A coreografia favorece o baixo acoplamento e a descentralização. Surge então o desafio de encontrar abordagens adequadas para realizá-la de acordo com estilo arquitetural proposto pelos microsserviços. Este trabalho descreve e compara duas estratégias para coreografar microsserviços. A primeira estratégia é baseada em eventos e faz uso de um mediador para transmitir as mensagens. A segunda é chamada de programação coreográfica e sua grande vantagem é fornecer uma visão global da coreografia. Um estudo de caso com quatro microsserviços foi implementado em cada estratégia. Resultados incluem uma tabela comparativa e o número de mensagens por minuto suportado pelas implementações.

Palavras-chave: Microsserviços, Coreografia, Programação Coreográfica, Coreografia baseada em eventos

Referências

Barker, A., Walton, C. D., and Robertson, D. (2009). Choreographing web services. IEEE Transactions on Services Computing, 2(2):152-166.

Bravetti, M. and Zavattaro, G. (2007). Towards a unifying theory for choreography con-formance and contract compliance. In Proceedings of the 6th International Conference on Software Composition, SC'07, pages 34-50, Berlin, Heidelberg. Springer-Verlag.

Cerny, T., Donahoo, M. J., and Trnka, M. (2018). Contextual understanding of mi-croservice architecture: Current and future directions. SIGAPP Appl. Comput. Rev., 17(4):29-45.

Ciancia, V., Ferrari, G., Guanciale, R., and Strollo, D. (2010). Event based choreography. Science of Computer Programming, 75(10):848-878.

D'Amore, J. R. (2015). Scaling microservices with an event stream. Em 2019-03-20.

Dragoni, N., Giallorenzo, S., Lafuente, A. L., Mazzara, M., Montesi, F., Mustafin, R., and Safina, L. (2017). Microservices: Yesterday, Today, and Tomorrow, pages 195-216. Springer International Publishing, Cham.

Foundation, A. (2018). Apache kafka -a distributed streamin platform. Em 2019-03-20.

Fowler, M. and Lewis, J. (2014). Microservices. Em 2019-03-20.

Garg, N. (2013). Apache Kafka. Packt Publishing.

Giallorenzo, S., Montesi, F., and Gabbrielli, M. (2018). Applied choreographies. In FORTE 2018, pages 21-40. Springer.

Gomes, R. d. A. (2017). Implantação eficiente de múltiplas coreografias de serviços em nuvens híbridas. PhD thesis, Universidade Federal de Goiás, http://repositorio.bc.ufg.br/tede/handle/tede/7351.

Guidi, C., Lanese, I., Mazzara, M., and Montesi, F. (2017). Microservices: a language-based approach. CoRR, abs/1704.08073.

Indrasiri, K. and Siriwardena, P. (2018). Microservices for the Enterprise: Designing, Developing, and Deploying. Apress.

Kozhirbayev, Z. and Sinnott, R. O. (2017). A performance comparison of container-based technologies for the cloud. Future Generation Computer Systems, 68:175 -182.

Kreps, J., Narkhede, N., and Rao, J. (2011). Kafka: A distributed messaging system for log processing. In Proceedings of 6th International Workshop on Networking Meets Databases (NetDB), Athens, Greece.

Lanese, I., Montesi, F., and Zavattaro, G. (2015). The evolution of jolie -from orches-trations to adaptable choreographies. In Nicola, R. D. and Hennicker, R., editors, Software, Services, and Systems, volume 8950 of Lecture Notes in Computer Science, pages 506-521. Springer.

Montesi, F. (2013). Choreographic Programming. Ph.D. thesis, IT University of Cope-nhagen. urlhttp://www.fabriziomontesi.com/files/choreographic programming.pdf.

Montesi, F. (2015). Kickstarting choreographic programming. In Hildebrandt, T. T., Ra-vara, A., van der Werf, J. M., and Weidlich, M., editors, Web Services, Formal Methods, and Behavioral Types -11th International Workshop, WS-FM 2014, Eindhoven, The Netherlands, September 11-12, 2014, and 12th International Workshop, WS-FM/BEAT 2015, Madrid, Spain, September 4-5, 2015, Revised Selected Papers, volume 9421 of Lecture Notes in Computer Science, pages 3-10. Springer.

Stubbs, J., Moreira, W., and Dooley, R. (2015). Distributed systems of microservices using docker and serfnode. In 2015 7th International Workshop on Science Gateways, pages 34-39.

Zhang, Y. and Chen, J.-l. (2015). Constructing scalable internet of things services based on their event-driven models. Concurrency and Computation: Practice and Experi-ence, 27(17):4819-4851.
Publicado
16/09/2019
Como Citar

Selecione um Formato
FERNANDES, João Pedro ; TAVARES DE CAMARGO, Edson . Estratégias para Implementação de Coreografia de Microsserviços. In: WORKSHOP EM CLOUDS E APLICAÇÕES (WCGA), 17. , 2019, Gramado. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2019 . p. 15-28. DOI: https://doi.org/10.5753/wcga.2019.7591.