Projecting Microservices: A Study over Asynchronous Queues to Achieve Reactive Design

Autores

  • Jonathan Lincoln Brilhante Universidade Federal da Paraíba
  • Rostand Costa Universidade Federal da Paraíba
  • Tiago Maritan Universidade Federal da Paraíba

Palavras-chave:

Microsserviços, Programação Reativa, Filas Assíncronas, Análise de Sistemas

Resumo

Microsserviços (MS) são uma nova abordagem com o intuito de incrementar a escalabilidade e flexibilidade em grandes aplicações. Um dos maiores desafios com a abordagem de MS está em como desenvolver adequadamente um único serviço em termos do seu escopo, eficiência e confiabilidade. Neste trabalho é proposto um modelo arquitetural para estruturar internamente um microsserviço, inspirada em conceitos da programação reativa. Este modelo é coordenado internamente por filas assíncronas, que preservam a compatibilidade com a maioria dos componentes legados(monolíticos). Um estudo comparativo entre a abordagem tradicional e a arquitetura proposta foi executado afim de medir os impactos que desta estratégia em termos de desempenho, elasticidade e resiliência.

Downloads

Não há dados estatísticos.

Biografia do Autor

Jonathan Lincoln Brilhante, Universidade Federal da Paraíba

Bacharel em ciências da computação pela Universidade Federal de Campina Grande e Mestrando na área de sistemas distribuídos pela Universidade Federal da Paraíba.

Referências

Alshuqayran, N., Ali, N., and Evans, R. (2016).

A systematic mapping study in microser-vice architecture. InService-Oriented Computing and Applications (SOCA), pages44–51.

IEEE.Anderson, C. (2015). Docker.IEEE Software, 32(3).Atul Shukla, R. T. (2014).

Architecting reactive applications on aws.Balakrishnan, K. (1996).Exponential distribution: theory, methods and applications.CRC press.Balalaie, A., Heydarnoori, A., and Jamshidi, P. (2015).

Microservices migration pat-terns. Technical report, Tech. Rep. TR-SUTCE-ASE-2015-01, Automated SoftwareEngineering Group, Sharif University of Technology, Tehran, Iran.Bass, L., Weber, I., and Zhu, L. (2015).

DevOps: A Software Architect’s Perspective.Addison-Wesley Professional.Boner, J. (2016). Reactive microservices architecture.Bon ́er, J., Farley, D., Kuhn, R., and Thompson, M. (2014). The reactive manifesto.

Brilhante, J., Silva, B., Maciel, P., and Zimmermann, A. (2014). Eucabomber 2.0: A toolfor dependability tests in eucalyptus cloud infrastructures considering vm life-cycle. InSystems, Man and Cybernetics (SMC), 2014 IEEE International Conference on, pages2669–2674. IEEE.Compton, B. T. and Withrow, C. (1990).

Prediction and control of ada software defects.Journal of Systems and Software, 12(3):199–207.

Curry, E. (2004). Message-oriented middleware.Middleware for communications, pages1–28.Daniel, F. and Pernici, B. (2006). Insights into web service orchestration and choreogra-phy.International Journal of E-Business Research (IJEBR), 2(1):58–77.Daniel, F. and Pernici, B. (2007).

Web service orchestration and choreography: Enablingbusiness processes on the web.E-Business Models, Services, and Communications-Advances in E-Business Research Series, 2:251–274.Dragoni, N., Giallorenzo, S., Lafuente, A., et al. (2016).

Microservices: yesterday, today,and tomorrow.arXiv preprint arXiv:1606.04036.El Emam, K., Benlarbi, S., Goel, N., et al. (2002). The optimal class size for object-oriented software.IEEE Transactions on software engineering, 28(5):494–509.Esposito, C., Castiglione, A., and Choo, K.-K. R. (2016).

Challenges in delivering soft-ware in the cloud as microservices.IEEE Cloud Computing, 3(5):10–14.Falcao, E., Maritan, T., Duarte, A., and Pessoa, J. (2014). Deaf accessibility as a service:uma arquitetura el ́astica e tolerante a falhas para o sistema de traduc ̧ ao vlibras.Fazio, M., Celesti, A., Ranjan, R., et al. (2016).

Open issues in scheduling microservicesin the cloud.IEEE Cloud Computing, pages 81–88.Fowler, M. and Lewis, J. (2014). Microservices a definition of this new architectural term.URL: http://martinfowler.com/articles/microservices.html.Gouigoux, J.-P. and Tamzalit, D. (2017).

From monolith to microservices: Lessonslearned on an industrial migration to a web oriented architecture. InSoftware Ar-chitecture Workshops (ICSAW), 2017 IEEE International Conference on, pages 62–65.IEEE.Gupta, A. (2015).

Microservice design patterns.http://blog.arungupta.me/microservice-design-patterns/.Gutierrez, F. (2017).

Microservices. InSpring Boot Messaging, pages 179–192. Springer.Halili, E. H. (2008).Apache JMeter: A practical beginner’s guide to automated testingand performance measurement for your websites. Packt Publishing Ltd.Hassan, S. and Bahsoon, R. (2016).

Microservices and their design trade-offs: A self-adaptive roadmap. InServices Computing (SCC), 2016 IEEE International Conferenceon, pages 813–818. IEEE.Hatton, L. (1997).

Reexamining the fault density component size connection.IEEEsoftware, pages 89–97.Kecskemeti, G., Marosi, A. C., and Kertesz, A. (2016).

The entice approach to decomposemonolithic services into microservices. InHigh Performance Computing & Simulation(HPCS), 2016 International Conference on, pages 591–596. IEEE.Levcovitz, A., Terra, R., and Valente, M. T. (2016).

Towards a technique for extractingmicroservices from monolithic enterprise systems.arXiv preprint arXiv:1605.03175.Malhotra, M. and Trivedi, K. S. (1995).

Dependability modeling using petri-nets.IEEETransactions on reliability, 44(3):428–440. Namiot, D. and Sneps-Sneppe, M. (2014).

On micro-services architecture.InternationalJournal of Open Information Technologies, 2(9):24–27.Newman, S. (2015).

Building microservices. ” O’Reilly Media, Inc.”.Richardson,C.Introductiontomicroservices.URL:https://www.nginx.com/blog/introduction-to-microservices.Sill, A. (2016).

The design and architecture of microservices.IEEE Cloud Computing,pages 76–80.Stubbs, J., Moreira, W., and Dooley, R. (2015). Distributed systems of microservices us-ing docker and serfnode. InScience Gateways (IWSG), 2015 7th International Work-shop on, pages 34–39. IEEE.Th ̈ones, J. (2015).

Microservices.IEEE Software, pages 116–116.Videla, A. and Williams, J. J. (2012).RabbitMQ in action: distributed messaging foreveryone. Manning.Villamizar, M., Garc ́es, O., et al. (2015).

Evaluating the monolithic and the microservicearchitecture pattern to deploy web applications in the cloud. InComputing ColombianConference (10CCC), 2015 10th, pages 583–590. IEEE.

Downloads

Publicado

2019-05-03

Como Citar

Brilhante, J. L., Costa, R., & Maritan, T. (2019). Projecting Microservices: A Study over Asynchronous Queues to Achieve Reactive Design. ISys - Brazilian Journal of Information Systems, 12(2), 117–153. Recuperado de https://seer.unirio.br/isys/article/view/7996

Edição

Seção

SISTEMAS E PROTÓTIPOS, E SEUS CASOS DE APLICAÇÃO