[Conceitual] Buscas envolvendo multiplos microserviços

27/05/2020

0

Olá senhores, boa noite.

Trabalhei vários anos com projetos que se apoiavam numa arquitetura monolítica, portanto, tenho tido algumas dificuldades em compreender alguns aspectos de uma arquitetura modular como a de microserviços. Estive estudando o assunto mas esbarrei em uma dúvida que está me tirando um pouco de paz, e que no caso, me impede de iniciar meu projeto pessoal (para fins de estudo).

Para ilustrar minha dúvida precisamos falar a mesma lingua, e portanto vou sugerir um cenário específico para que possamos discutir melhor a questão. Não quero entrar no mérito da forma como separei os domínios da aplicação, afinal, o exemplo abaixo foi elaborado a fim de oferecer base para outra discussão.

Sistema de Exemplo:
Imagine uma aplicação voltada a controle de gastos onde os usuários podem cadastrar entradas e saídas de dinheiro, teríamos então 3 domínios diferentes, consequentemente resultando no mesmo número de microserviços. Seriam eles os microserviços de Usuários, Movimentações (Incomes e Outcomes) e por fim o serviço de Endereço (é estranho, eu sei).

Como a informação se relaciona ?
Cod. Usuário: 1 - Nome do Usuário: Pedro - Tipo de Movimento: Entrada - Valor do Movimento: R$ 20,00 - Rua: Afonso Pedroso - Estado: SP

Finalmente, A DÚVIDA...

Como seria possível fornecer ao usuário uma busca aonde fosse possível utilzar filtros de domínios diferentes ? Isso mesmo, imagine que o usuário está utilizando um APP que consome os nossos serviços, e que existe uma tela de busca com vários filtros. Agora, imagine que fosse possível buscar por um usuário filtrando Nome do Usuário + Tipo de Movimento + Estado do Endereço, como isso seria possível considerando que os filtros pertencem a domínios diferentes e microserviços diferente ?

Porque imagina, minha tela de busca chamou o serviço de Usuário e encontrou 20 linhas com o nome "Pedro", depois disso invocou um segundo microserviço que retornou apenas 8 linhas para o tipo de movimento, por fim invocou o serviço de Enderecos e encontrou apenas 2 usuário que residem em são paulo. Nesse cenário, o resultado final da busca seria de um total de 2 linhas, mas como amarrar isso ? Quem seria responsável por "costurar" os resultados ?

Essa é a dúvida.
Cleiton

Cleiton

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar