sábado, 21 de setembro de 2019

Comunicação inter-serviços com gRPC



#softwareengineering #engenhariadesoftware #microservices #communication #grpc
Como dois microsserviços se comunicam? Ou melhor por que se comunicariam? De acordo com o excelente site de Chris Richardson (https://microservices.io/patterns/communication-style/rpi.html) temos dois estilos de comunicação: Síncrono e Assíncrono (via mensageria).
Mensageria, utilizando filas de mensagens ou eventos, é a melhor maneira para implementar padrões como SAGA (https://microservices.io/patterns/data/saga.html) ou CQRS (https://microservices.io/patterns/data/cqrs.html), porém, se o sistema é pequeno ou você tiver restrições orçamentárias para alocar mais nós (como o broker), então a comunicação direta é a melhor opção. E, neste caso, em vez de usar REST/JSON, use um mecanismo mais formal e eficiente, como Apache gRPC, por exemplo.
Neste artigo, mostro como implementar um serviço simples em Python e consumi-lo usando Python ou Java, confira meu repositório: https://github.com/cleuton/InterServiceCommunication


Nenhum comentário:

Postar um comentário