Em um cenário onde múltiplos microsserviços escritos em linguagens diferentes precisam trocar dados, quais são os principais desafios ao escolher gRPC?
Como você mitigaria esses problemas?
Siga o tutorial do Google Codelabs Getting Started with gRPC-Python.
Para outras linguagens de programação, siga os tutoriais em https://grpc.io/ e https://protobuf.dev/getting-started/
Objetivo: Implementar a leitura e atualização de dados simples em um serviço centralizado.
Você está construindo o módulo de perfil de usuário de uma plataforma. Este módulo deve interagir com um serviço remoto para buscar informações e atualizar campos específicos.
Componentes:
UserRequest: Deve conter apenas o user_id (string).UserResponse: Deve conter user_id, name e email.UserService com dois métodos:
GetUserDetails(UserRequest): Retorna um único UserResponse. Simule buscar um usuário (pode ser um dicionário estático) baseado no ID fornecido. Se o usuário não existir, lance uma exceção apropriada.UpdateEmail(UserRequest, UserResponse): Recebe o ID e retorna uma confirmação de sucesso. Imprima um log simulando a atualização bem-sucedida no banco de dados.Dúvidas e Discussão
5. Descreva um cenário onde a latência e o *overhead* de conexões são mais críticos do que a simplicidade de uso, tornando o gRPC uma escolha obrigatória. (Pense em alta frequência ou grandes volumes de dados).