Comunicação entre Microservices

Поделиться
HTML-код
  • Опубликовано: 3 фев 2025

Комментарии • 132

  • @julianabarroslima5608
    @julianabarroslima5608 3 года назад +2

    Seu vídeo me ajudou a entender de vez como funcionam os microserviços! Conteúdo de excelente qualidade!

  • @woguvomo1
    @woguvomo1 5 лет назад +9

    Uma das melhores explicações sobre o assunto que já vi! Obrigado!

  • @gustavoriposati9092
    @gustavoriposati9092 3 года назад

    Fantástico o vídeo parabéns! Assunto top tb!

  • @anacarolliny2475
    @anacarolliny2475 2 года назад

    Simplesmente sensacional , recentemente entrei de trainee
    Minha stack é typescript mas o conceito e a abstração usada foi ótima, ajudou totalmente muito obrigada

  • @melao509
    @melao509 4 года назад +1

    Muito obrigado por compartilhar!!! Sua didática é muito boa :) Parabéns!!

  • @AndreLuiz-hs3qx
    @AndreLuiz-hs3qx 3 года назад

    Muito obrigado pela explicação

  • @yeikicosta
    @yeikicosta 3 года назад

    Parabéns pelo vídeo, continue assim !

  • @williamramosdeassisrezende9887
    @williamramosdeassisrezende9887 5 лет назад +3

    Vá em frente com o seu trabalho!
    Ótima qualidade! Claro e didático!
    Parabéns!

  • @mensageir0_d0_futur0
    @mensageir0_d0_futur0 4 года назад

    Linda e inteligente. Amei sua aula.

  • @tecnicamenteeassim
    @tecnicamenteeassim 3 года назад +1

    Muito bom Michelli. Quero fazer uma contribuição. No primeiro exemplo eu faria uma alteração. Não deixaria sob a responsabilidade do serviço de notas buscar os dados dos alunos, faria o gateway buscar os dados em ambos. 😉

  • @fabiuh2
    @fabiuh2 3 года назад

    Parabéns pelo efeito de transição a cada tema. Fica muito legal de ver os vídeos, bem fluído. Conteúdo ótimo

  • @wellingtonlemos4882
    @wellingtonlemos4882 5 лет назад +1

    Michelli, gostei muito da sua didática, parabéns estou iniciando e suas aulas estão ajudando bastante.

  • @lucaslourenco2109
    @lucaslourenco2109 3 года назад

    Explicação sensacional, you are the best!

  • @jhonyterra9057
    @jhonyterra9057 3 года назад

    Me surpreende você ter 41 mil seguidores, tu explica e fala tão bem que deveria ter muito mais! Sou seu fã, Michelli!

  • @franciscosilva3034
    @franciscosilva3034 3 года назад

    Parabens pelo vídeo me ajudou muito.

  • @edgar.damasceno
    @edgar.damasceno 5 лет назад +2

    Muito bom conteúdo. Super didática e excelentes exemplos.
    Sucesso moça!

  • @felipeaugusto2764
    @felipeaugusto2764 4 года назад

    Uauuu que conteúdo incrível, top demais!!! Parabens

  • @sreandtech
    @sreandtech 5 лет назад +1

    Michelli, ótima explicação. Muito bom o vídeo. Aguardo novos

  • @Ysgammerbr
    @Ysgammerbr 5 лет назад +1

    Muito bem explicado, esclareceu muita coisa pra mim. Você poderia fazer essa aplicação, mesmo que bem simples, mostrando como integrar cada uma. Parabéns.

    • @MichelliBrito
      @MichelliBrito  5 лет назад

      sim, seria uma boa idéia de mostrar a parte prática. Obrigada!!

  • @andreluizdias5560
    @andreluizdias5560 5 лет назад +43

    Michelli, seria possível lançar uma série prática após a teoria do microservices? Muito boa a sua explicação

    • @MichelliBrito
      @MichelliBrito  5 лет назад +22

      Olá, está entre meus planos. Obrigada!

    • @Fernando-du5uj
      @Fernando-du5uj 5 лет назад +1

      Seria top demais! Ótima ideia!

    • @TelmoMachadoSistemas
      @TelmoMachadoSistemas 5 лет назад

      @@Fernando-du5uj iria pedir a mesma coisa um micro serviço (professor lançando notas) para a turma A e turma B, no Front end, aparece duas colunas com as Salas de Aula A e B, e o serviço a cada nota sendo lançada apareceria na tela, e do lado da nota um send se foi enviado um e-mail ao destinatário. e alguma tag no DB para marcar que já foi enviado e-mail ou não. para EVITAR que o sistema fique reenviando o e-mail gerando spam para o usuário.

  • @inocencio.cardoso
    @inocencio.cardoso 3 года назад

    Muito bom, tirou minhas dúvidas que tinha há meses sobre o assunto!

  • @alexandrercp
    @alexandrercp 2 года назад

    Excelente aula!

  • @mscrodrigosantos
    @mscrodrigosantos 4 года назад

    Excelente explicação! Excelente didática! Muito obrigado por tirar tempo nos ajudar e nos ensinar.

  • @JoaoVictor-wp3nl
    @JoaoVictor-wp3nl 4 года назад

    Parabéns ótimo conteúdo.

  • @JoseAugustodeMelo
    @JoseAugustodeMelo 4 года назад

    Show Michelli! Muito obrigado pela excelente explicação. Me ajudou muito!

  • @juarezismaelsantos7981
    @juarezismaelsantos7981 5 лет назад +2

    Cabelos longos e Lindos, parabéns pelo video, excelente explicação

    • @MichelliBrito
      @MichelliBrito  5 лет назад

      Obrigada!!

    • @offled
      @offled 5 лет назад

      Mano. rs, se atente ao conteúdo da aula.

  • @rcost28
    @rcost28 Год назад

    Muito bom...

  • @claidsonhaidrick2502
    @claidsonhaidrick2502 5 лет назад +1

    Show esse conteúdo. Parabéns.

  • @cristinypaiva955
    @cristinypaiva955 5 лет назад +1

    Michele parabéns pelo video sua explicação é muito simples e fácil de entender. Também gostaria de uma serie pratica de como desenvolver microserviços.

  • @LucasNascimento_devRider933
    @LucasNascimento_devRider933 5 лет назад +1

    Parabéns! E muito obrigado pela aula.

  • @brunolira1807
    @brunolira1807 4 года назад

    Overview fantastico! Valeu!

  • @diogodev
    @diogodev 4 года назад

    Muito obrigado pelo conteúdo

  • @lk_alexleko
    @lk_alexleko 5 лет назад +1

    Michelli.. Parabéns... estou curtindo muito seu canal! Esse tema de mensageria é muito interessante... iria agradecer muito se fizesse uma serie mostrando a implementação real de um sistema usando essas tecnologias! pois estou tendo dificuldades para encontrar algo assim!

    • @MichelliBrito
      @MichelliBrito  5 лет назад

      olá muito obrigada! sim, seria um tema interessante para montar uma playlist, Obrigada!!

  • @tiagodesouzacosta5731
    @tiagodesouzacosta5731 5 лет назад

    Muito bom ! Muito bem explicado. Continue produzindo vídeos nessa qualidade ! Mais um inscrito !

  • @Fernando-du5uj
    @Fernando-du5uj 5 лет назад +1

    Sensacional! Me ajudou muito, principalmente com as imagens ali, ficou muito fácil de entender. E uau hein, que cabelo enorme!!!! :O

  • @allanfreiriacassimiro6617
    @allanfreiriacassimiro6617 5 лет назад

    Muito boa a explicação, parabéns!

  • @Lindembergz
    @Lindembergz 3 года назад

    Galera, que moça incrível....

  • @rodrigojoslim
    @rodrigojoslim 4 года назад

    Finalmente entendi que é RabbitMQ hehe
    Muito boa expllicação =)

  • @matheusfelixribeiro
    @matheusfelixribeiro 5 лет назад +1

    Simplesmente Parabéns!

  • @andredf2008
    @andredf2008 5 лет назад +1

    Ótimo aula.

  • @marcosoliveira8731
    @marcosoliveira8731 5 лет назад

    Bacana mesmo.
    Ótima explicaçao. Doido pra ver código!

  • @1340ALBERTO
    @1340ALBERTO 5 лет назад +1

    Oi Michelli td bem? Espero que sim! Parabéns por mais um vídeo, e obrigado por compartilhar se conhecimento.

    • @MichelliBrito
      @MichelliBrito  5 лет назад +1

      Olá, tudo bem e vc? muito obrigada!

  • @longuinni
    @longuinni 5 лет назад +1

    Muito legal!!

  • @maletico
    @maletico 5 лет назад +1

    Gabinete bonito, vou seguir.

  • @ohagidev525
    @ohagidev525 4 года назад

    Obrigado!!! :D

  • @camilotxm
    @camilotxm 3 года назад

    Quando o Dev acha que é arquiteto acaba fazendo esse tipo de estratégia. Não basta usar só mensageira. Existem padrões a série usados para a garantia de entrega.

  • @charlestenorio4857
    @charlestenorio4857 5 лет назад

    no Gateway principal como eu modelo as requisições prós micros serviço?

  • @didamendes
    @didamendes 5 лет назад +1

    Que isso. Michelli tu sabe demais !! Nunca tinha ouvido falar de Spring Cloud Netflix E Stream. Para comunicar entre API só sei usar o RestTemplate para tudo !! Principalmente o restTemplate.exchange. Ainda tenho que aprender demais.

    • @MichelliBrito
      @MichelliBrito  5 лет назад

      Imagina!! obrigada, RestTemplate é uma boa, mas quando puder de uma olhadinha no spring netflix sim =)

  • @klaiddias
    @klaiddias 4 года назад +1

    Olá Michelli, no exemplo que você apresentou... porque o microserviço de controle de nota não passa pelo gateway para alcançar o microservice controle de aluno? Qual seria a solução para impedir que o gateway fique indisponível derrubando toda a aplicação? Parabéns e obrigado.

  • @charlestenorio4857
    @charlestenorio4857 5 лет назад

    Parabéns Michelle. quando eu devo usar nicroservi os?

  • @fellypelayunne
    @fellypelayunne 5 лет назад +1

    Boas dicas

  • @carlosaugusto5112
    @carlosaugusto5112 4 года назад

    Caso tenha algum problema para enviar o email, como fica? A aplicação não precisa saber que houve um problema no envio? Pq nesse caso o serviço A, não tem acesso ao banco do serviço B para verificar alguma flag no banco se foi enviado com sucesso ou deu erro.

  • @julios-ia4511
    @julios-ia4511 5 лет назад +1

    Meu Deus! Eu não consigo me concentrar nas suas aulas! Porque Você é muito bonita!!!

  • @antoniotavares9361
    @antoniotavares9361 5 лет назад

    Gostei muito!!!

  • @vitorsouza3296
    @vitorsouza3296 5 лет назад +1

    Nossa. Até que fim entendi isso.

  •  4 года назад

    Oi Michelli, muito obrigado pelo seu video, muito esclarecedor, mas ainda tenho algumas dívidas em relação a microserviços.
    No caso da comunicação síncrona os microserviços geram um problema de performance, já que pelo que eu entendo o HTTP não é tão rápido quanto um monolito. Além disso nesse caso que você apresentou(acredito que seja só para fins didáticos) você faz com que um módulo dependa de outro, isso quebra um pouco o objetivo dos microserviços que é deixar as coisas bem separadas. Já o caso da comunicação assíncrona achei genial, realmente é até mais rápido fazer algumas tarefas em background.

  • @brunoleonardobr
    @brunoleonardobr 3 года назад

    Os microservicos não devem se comunicar pela API gateway?

  • @marcrib100
    @marcrib100 4 года назад

    Mais uma dúvida, na comunicação assíncrona, é possível um microsservico esperar uma mensagem de retorno. Pegando o primeiro exemplo que deu, imagine que ao invés de usar rest usa mensageria, mas eu preciso que o mocrosservico que tem os dados do aluno me retorne, porém de forma assíncrona. É feito uma espécie de callback?

  • @matheusmourab
    @matheusmourab 2 года назад

    Esse Gateway seria a mesma coisa de um BFF?

  • @JoanneLima
    @JoanneLima 5 лет назад +1

    Muito bom, muito bom!

  • @THIAGOKSR1
    @THIAGOKSR1 4 года назад

    Excelente vídeo! Mas uma coisa que não ficou clara para mim...no exemplo da comunicação assíncrona, foi dito que o microserviço A não precisa dar um retorno para o microserviço B; o microserviço B precisa apenas acusar para o microserviço A que recebeu a mensagem e que está ok (6:05). A dúvida é, como o microserviço B acusa isso para o A? (no exemplo específico de Notas e Email não ficou claro isso para mim - 7:15). Além da Michelli, se alguém souber a resposta e puder me tirar essa dúvida, agradecerei muito!

    • @JohnatanIvini
      @JohnatanIvini 3 года назад +1

      Tem o padrão de projeto de arquitetura, chamado SAGA, nesse caso ai, seria o tipo por Coreografia, onde as transacoes não sao assicronas, e seguem um fluxo, caso algum dê erro, o event handle, ira desfazer as transacoes.
      O outro seria o Oquestrador, que serveria como um proxy, um gateway, onde a requisição é sincrona, temos apenas um ponto de falha, caso algum servico falhe ele ira fazer buscar cada servico e desfazer as alterações em cada um. resumidamente falando, mas é um assunto bem amplo.

    • @THIAGOKSR1
      @THIAGOKSR1 3 года назад

      @@JohnatanIvini valeu!!

  • @charlestenorio4857
    @charlestenorio4857 5 лет назад

    Alem de eu ter um micro serviço pra fazer a comunicação entre eles vou precisar mapear q micro serviço precisa de uma comunicação mais direta com outro?

  • @besteirasverdadeiras9598
    @besteirasverdadeiras9598 5 лет назад

    supondo q existam vários microserviços, o gateway só envia requisisão pra um? nesse seu exemplo, pq o gateway não mandou requisição para os 2 microserviços?

  • @marcrib100
    @marcrib100 4 года назад +1

    Olá, parabéns pelo ótimo vídeo. Uma dúvida, e quando eu preciso receber um retorno de um mocrosservico, igual vc deu no primeiro exemplo, aonde um tinha nota e o outro os dados dos alunos. A gente faz uma comunicação sincrona, porém e se o mocrosservico que iria entregar os dados do aluno estiver fora? A sua aplicação vai quebrar, não vai? Como fazer nesse caso?

    • @jacsonferreira1298
      @jacsonferreira1298 3 года назад

      Seu serviço tem que ser tolerante a falhas aí tem várias abordagens, vc pode pesquisar sobre o tema na internet tem bastante coisa

  • @pfbrodriguez
    @pfbrodriguez 5 лет назад +1

    eu gostaria de mais explicações sobre o gateway

    • @MichelliBrito
      @MichelliBrito  5 лет назад +2

      posso tentar trazer esse tema mais a fundo aqui no canal em vídeos futuros =)

    • @pfbrodriguez
      @pfbrodriguez 5 лет назад

      @@MichelliBrito obrigado!

  • @charlestenorio4857
    @charlestenorio4857 5 лет назад

    valeu! essa dúvida eu tinha!!

  • @RODABOMBA
    @RODABOMBA 5 лет назад

    Ola Michelli o meu nome é João e precisava da sua ajuda. Eu tenho conhecimentos de programação em várias linguagens e apenas sei os conhecimentos base. Por exemplo, com Java tenho todo o conhecimento de POO e a lógica. Eu gostava muito de trabalhar na área de desenvolvimento mas não sei bem como começar e o que realmente uma empresa quer que eu saiba. Também já fiz um website CRUD em php com base de dados MySQL, já trabalhei com Java swing também ligado a base de dados MySql( utilizei netbeans). Eu gosto muito de Java mas não sei concretamente o que é necessário porque por exemplo, eu nunca vi a POO ( programação orientado a objetos) a ser utilizado para a criação de APIs ou de websites em Java por isso também não percebo onde entra a POO( apesar de ter criado programas em JSE mas em contexto académico). Consegue dar me dicas de o que devo fazer para eu me solidificar na área de java backend developer ? ( para criar APIs, websites, etc ) PS: já vi os seus vídeos de Spring Boot mas você já sabia coisas que eu não sabia como por exemplo de criar annotations etc etc. gostava de saber como aprendeu a dominar o spring boot. Agradeço se responder. Obrigada 🙏 🙏🙏

  • @CarlosMartinsRJ
    @CarlosMartinsRJ 5 лет назад +1

    Gostei, tecnicamente acho que seria interessante assumir que quem está assistindo tem noção de micro serviço e aprofundar no detalhamento da comunicação entre os serviços.

    • @MichelliBrito
      @MichelliBrito  5 лет назад +1

      Sim, esse vídeo foi mais introdutório, para quem está entrando no assunto. Mas pretendo fazer vídeos com mais profundidade no tema sim =)

  • @felipevflores
    @felipevflores 5 лет назад +1

    Olá, eu tenho uma dúvida, no caso da comunicação rest, eh feito através de Json? Esse processo de serializacao e deserializacao acaba comendo muito tempo de de processo, qual a alternativa para isso não ocorrer?

    • @MichelliBrito
      @MichelliBrito  5 лет назад

      Olá, então esse processamento é bem pequeno relacionado ao esforço que teríamos se não tivéssemos o retorno de dados não estruturados. Mas vou dar uma pesquisada mais a fundo sobre isso =)

    • @felipevflores
      @felipevflores 5 лет назад

      @@MichelliBrito poiseh, parece ser pequeno, porém em uma palestra, acredito q nubank, sofria com 60% da requisição era serializacao e deserializacao, ai estou um pouco preocupado com o futuro, até agora aqui na empresa, tá de boa, mas ....

  • @wellingtonlemos4882
    @wellingtonlemos4882 5 лет назад

    No seu Git tem um projeto de uma agenda, tem vídeo aula explicando como foi desenvolvido??

    • @MichelliBrito
      @MichelliBrito  5 лет назад

      para esse projeto infelizmente não tem videos =\

  • @MarcoOlimpio
    @MarcoOlimpio 5 лет назад

    Michelli, massa o seu vídeo, parabéns. No exemplo síncrono, fiquei na dúvida pq a requisição do ms de notas não foi direcionada para o gtwe sim direto para o ms de controle de aluno. No caso de db em ms como você explicou, o BD seria divido a nível de tabelas? Tipo me notas teria um banco com as notas e ms2 com o controle do aluno ou somente ele teria um banco maior e n conexões ao BD alunos com essas n tabelas?
    Ixe... Ficou grande :P

  • @edutav
    @edutav 5 лет назад +2

    Parabéns pelo vídeo, explicação ótima, porém me surgiu uma duvida, de como poderia ficar a comunicação/validação se antes dos micro services controle de notas e controle de alunos, se eu tivesse e micro service de login que retornaria um JWT, como poderia ficar essa representação?
    P.S.: Desculpa se a pergunta pareceu longa ou confusa.

    • @MichelliBrito
      @MichelliBrito  5 лет назад +1

      Obrigada!! nesse caso, no microservice de login vc utiliza uma rota sem autenticação e depois de autenticado, para validação das demais requisições que são protegidas pelo jwt, vc pode configurar o gateway para fazer essa validação de token.

  • @rodrigosampaio1472
    @rodrigosampaio1472 5 лет назад

    Oi Michelli, tudo bom ? Você já pensou em abrir algum tipo de curso online ? Gosto muito dos seus videos mas queria me aprofundar mais, eu estou começando agora com Java Web no meu curso e é sempre bom ter um complemento.
    Valeu pelo ótimo conteudo e boa sorte em tudo !

  • @matheusmourab
    @matheusmourab 2 года назад

    A responsabilidade de chamar os outros microsservicos (como o de alunos) não seria do Gateway?

  • @andremuniz7235
    @andremuniz7235 5 лет назад +1

    Boa noite Michelli conheci o seu canal recentemente, estou curtindo bastante sua metodologia. Eu tenho uma dúvida do vídeo que eh até antigo no seu canal do swagger no Java, tem alguma forma de definir quais os campos obrigatórios? Pergunto isso pq todos os campos do meu metodo aparecem com required true, mas tenho alguns campos que não são obrigatório obrigado

    • @MichelliBrito
      @MichelliBrito  5 лет назад +1

      Olá, por default os campos são opcionais. Mas você pode usar a anotação @ApiModelProperty(required = true) ou @ApiModelProperty(required = false) no atributo que desejar ou no método getter desse atributo, respectivamente.

    • @andremuniz7235
      @andremuniz7235 5 лет назад

      @@MichelliBrito Muito obrigado por responder, vc eh nota 10, vc tem cursos na udemy? Senão seria ótimo vc tem uma didática maravilhosa e concerteza compraria seus cursos, parabéns

  • @alissonkendi3491
    @alissonkendi3491 5 лет назад +1

    Olá Michele tudo bom, então eu fiquei na dúvida na parte do tratamento de dados, os bancos de dados em sistemas de microserviços são relacionais ou em coleções?

    • @francilioaraujo
      @francilioaraujo 5 лет назад +1

      Tanto faz. Você pode ter tanto um microsserviço que faz uso de um banco relacional quanto um que faz uso de um banco NoSQL. Depende da sua necessidade.

    • @MichelliBrito
      @MichelliBrito  5 лет назад +2

      Olá, é exatamente o que o Francilio Araújo explicou na resposta acima, pode ser relacional ou não relacional, depende da necessidade da sua aplicação =)

    • @MichelliBrito
      @MichelliBrito  5 лет назад +2

      @@francilioaraujo isso mesmo! =)

  • @isaacmontiel2158
    @isaacmontiel2158 5 лет назад +1

  • @Joni67sinix
    @Joni67sinix 5 лет назад +2

    Xonei. Vamos tc?

  • @michelangeloviana9318
    @michelangeloviana9318 5 лет назад

    Ótima explicação. Obrigado. Tenho uma dúvida: estou estudando uma plataforma (www.folio.org) que usa OKAPI, com frontend React. Seria o mesmo princípio/arquitetura? github.com/folio-org/okapi/blob/master/doc/guide.md

  • @graveclub3950
    @graveclub3950 5 лет назад

    Próximo tópico Kafka. Programadora Java mais linda do BRASIL. ;)

  • @heyyy4987
    @heyyy4987 4 года назад

    ual.

  • @carlosarroyoam
    @carlosarroyoam 5 лет назад +4

    This channel is pure gold, why don't you add English subtitles? 😅

  • @anderson.menezes
    @anderson.menezes 5 лет назад

    Caramba quanta beleza... mas enfim existe outra forma de manda e recebe informações entre microservices ? algo que tenha uma latência menor que o REST ?

  • @kadumail
    @kadumail 5 лет назад +1

    Resumindo quem dita as regras do jogo são processadores atuais

  • @ilivanilton
    @ilivanilton 5 лет назад +1

    Nossa, perfeito! Casa comigo!? 🤓

  • @neuberfran
    @neuberfran 5 лет назад

    Pq vc não aprende kotlin e faz vídeos sobre Rx, Dsl, Coroutines. Vc poderia contar c/ minha ajuda.

  • @marcioborges2567
    @marcioborges2567 5 лет назад

    Caraca...vc explicou da forma mais difícil... tudo que vc falou, eu resumo em view controller services API => sql = tableNotas innerJoin tableAlunos

    • @victorhugonegrisoli5477
      @victorhugonegrisoli5477 5 лет назад +1

      Muito pelo contrário, Márcio.
      A explicação dela não poderia estar mais correta, isso que você tá falando fica preso a um modelo de software monolítico, pra começar que você não vai fazer um join da tabela notas com alunos pois ambas as tabelas ficam em bancos de dados diferentes, um dos fundamentos do microsserviço é ter sua própria base de dados, e a interação entre os dados dessas bases é feita de forma síncrona ou assíncrona, como a Michelli explicou, e a "view" aqui é totalmente independente da aplicação back-end, ela apenas consome os serviços da API, que possui toda a comunicação interna, seja ela REST ou através de AMQP. Uma dica, só deixe o ego de lado pois você poderá aprender muito com ela, e pelo seu comentário, vemos que ainda é muito!

  • @marcioborges2567
    @marcioborges2567 5 лет назад

    Complica nao filha....descomplica.

  • @edvaned8207
    @edvaned8207 4 года назад

    Muito obrigado pela aula.

  • @DabioOtto
    @DabioOtto 2 года назад

    Excelente aula