Bom pessoal, seguinte, no vídeo anterior a gente falou sobre coreografia de microserviços e a gente falou sobre livre comunicação, demos exemplos aqui da Amazon, da Netflix, legal? Agora, o lance é o seguinte, esse problema de coreografia, ele é um problema muito claro, tá? E normalmente, quando você começa a criar bastante micro serviço, esse formato de comunicação, ele vai começar a acontecer, invariavelmente. O que que você pode fazer para facilitar a vida, para melhorar a gestão desses micro serviços, tá. É você começar a trabalhar com algo que hoje a gente chama de topologia de microserviços. Esse aqui eu quero desenhar junto contigo. Vou colocar aqui. Topologia de microserviços. O que eu estou querendo dizer com isso galera eu vou copiar esse cara aqui que a gente tem vou colar aqui embaixo mas eu vou diminuir essa imagem. O que acontece, galera? Quando a gente está trabalhando com micro serviços, a gente vai ter essas chamadas aqui. O grande problema que acontece é que a gente começa, muitas vezes, a fazer isso aqui. E a gente começa, muitas vezes, a fazer isso aqui. O nosso sistema começa a crescer tanto que a gente começa a ter um encadeamento muito grande de microserviços. E daí essas chamadas começam a ficar muito fortes. Porque esse começa a chamar esse, que chama esse, que chama esse, que chama esse, que chama esse. E daí a gente começa a ter esses tipos de problemas. Como que você minimiza esses tipos de problemas? Eu acho que a dica de ouro que eu posso passar aqui para você, e que se você já trabalha com microserviços hoje, raramente você vê isso dentro da rede das empresas. Então essa pode ser uma dica de ouro, um game changer para você. Que é o seguinte, a gente sabe que micro serviços eles são né é softwares comuns que tem um contexto muito bem definido legal e esses caras eles rodam de forma autônoma e se comunicam ali entre si o grande ponto é que quando você tá olhando diversos microserviços se comunicar, você vai perceber que dentro de um ecossistema, de uma empresa, eles vão fazer parte ainda de um contexto maior, de um subdomínio maior. E quando você entende isso, a sua mente vai explodir. Por quê? E quando você entende isso, a sua mente vai explodir. Por quê? Vamos imaginar que esses micro serviços aqui, eles são responsáveis para fazer todo o faturamento da empresa. Esses micro serviços aqui, são os micro serviços para fazer toda a parte de entrega e logística aqui da empresa. Esse aqui é feito somente para listar o catálogo de busca e mostrar os produtos. E esses aqui são para ajudar a relação com o cliente. Você concorda comigo que apesar desses caras terem funções pequenas e específicas, eles acabam fazendo parte dentro de um contexto maior? Eu sei que aqui você tem um contexto, aqui você tem um outro, mas quando você olha de forma geral, esses caras tem um contexto maior. Então o que você vai poder fazer nesse caso? Você vai poder fazer o seguinte. Você vai chegar aqui e você vai delimitar um contexto ainda maior, ainda maior, onde ele fecha um quadrado nos seus micro serviços. Então, aqui eu tinha falado para vocês que é a área de cobrança, por exemplo. Legal? Então, está aqui, um contexto de cobrança aí aqui a gente tem o que? um contexto de entrega de logística tinha falado vamos lá aqui eu tenho um contexto de logística logística com j é ótimo aqui eu tenho um contexto de atendimento ao cliente, e aqui eu tenho um outro contexto aqui também. Deu para vocês pegarem. O que acontece, galera, quando a gente tem esse tipo de situação? Quando a gente consegue fazer esse mapeamento desses contextos maiores, a gente vai perceber que esses micro serviços vão querer falar entre si. Porque quando acontece uma cobrança, emite uma ordem para a logística fazer entrega, adiciona o cara no CRM, manda o cara aqui mudar o estoque e coisas desse tipo. Então, esses contextos se falam. Agora, qual é o problema desses contextos se falarem? São as chamadas diretas de um microserviço para o outro. Estou dando um exemplo. Estou dando um exemplo. Esse falar com esse, que fala com esse, que fala com esse, que fala com esse, e assim vai. A coisa aqui começa a ficar complexa, porque além de ter a comunicação dentro dos contextos, você vai ter as comunicações entre os contextos. E você começa a fazer chamadas aí nesse caso. Como que você pode resolver esse tipo de situação? Na realidade, a situação não tem resolução, mas ela tem uma forma de minimizar, que é o que? você vai criar aqui na frente tá? uma API Gateway e agora ficou difícil de eu conseguir diminuir a fonte. Você vai criar aqui na frente uma API Gateway. O que a API Gateway vai fazer? Essa API Gateway vai agrupar esses micro serviços. Então, aqui eu vou fazer exatamente a mesma coisa. Vou criar esse agrupamento. Aqui eu vou fazer a mesma coisa, criando um outro agrupamento. E aqui eu vou fazer a mesma coisa, criando um outro agrupamento e aqui eu vou fazer uma a mesma coisa criando um outro agrupamento porque isso aqui acontece né eu estou tentando entender porque esse espaço maior que o outro a deixou só liberar um espaço maior aqui galera para não ficar um negócio pra ficar mais fácil para explicar. Por que eu tenho esses agrupamentos? Porque a partir de agora, todas as vezes que um microserviço precisa chamar um outro microserviço de um outro contexto, isso não vai acontecer mais. Não vai acontecer, não vai mais existir a chamada direta o que vai existir vai ser isso aqui ó esse cara precisa chamar o cara de cobrança ele vai fazer assim ó ele vai chamar o ipa e peguei aqui legal esse cara precisa é mandar os dados para o cliente. Opa, espera um pouquinho. Ele vai chamar aqui. Esse cara precisa fazer uma chamada para cá, ele vai chamar esse cara aqui. Entende o que eu estou dizendo? para cá ele vai chamar esse cara aqui entende o que eu estou dizendo então o nosso grande papá passo agora é que quando nós conseguimos agrupar esses micro serviços através de uma ipa e gay que protege contextos a coisa vai ficar um pouco mais fácil no próximo vídeo eu vou falar os benefícios para a gente fazer isso aqui beleza então vamos lá