Arquitetura Distribuída Microserviços

A arquitetura de microserviços determina que uma aplicação seja formada por um conjunto de "pequenas" aplicações, chamadas então de microserviços.

Cada microserviço é responsável por implementar um único requisito da aplicação. Seu desenvolvimento deve ser feito de forma independente dos demais microserviços.

A figura abaixo sintetiza o "espírito" da abordagem de microserviços comparando com a abordagem monolítica tradicional.

Fonte: https://martinfowler.com/articles/microservices/images/sketch.png

Cada microserviço terá, tipicamente, as seguintes características:

  • um modelo de dados próprio associado ao requisito que está sendo implementado. A esse modelo corresponderá uma base de dados.
  • o microserviço é o único a ter acesso direto aos dados e é encarregado de manter a sua consistência.
  • a comunicação entre microserviços se dá por meio de APIs, utilizando algum protocolo de comunicação, como HTTP, ou então via algum sistema de mensagens, como o RabbitMQ.

Por ser uma abordagem distribuída, a arquitetura de microserviços deve garantir que uma falha em um microserviço não deve comprometer o funcionamento da aplicação como um todo. O usuário deve perceber apenas que uma funcionalidade ficou momentaneamente indisponível.

Leitura Obrigatória
Definição
Post: O que é microserviço?
Post: Microserviços Azure
Post: Introdução a Microserviços
Post: Microservices segundo Martin Fowler
Leitura Sugerida
Post: Microserviços Escaláveis por Jonas Bonér
Abordagem Serverless da Amazon - AWS Lambda
Abordagem Serverless da Google - Google Cloud Functions
Abordagem Serverless da Microsoft - Azure Functions

results matching ""

    No results matching ""