Тёмный

Eu não imaginava que microsserviços eram assim 

Rocketseat
Подписаться 367 тыс.
Просмотров 98 тыс.
50% 1

✅ Inscreva-se no Launch2022: rseat.in/eCHO_Euj3
💻 Quando comecei a estudar microsserviços eu caí em duas dúvidas que me tiraram o sono por dias: como estruturar o banco de dados para suportar múltiplas aplicações compartilhando dados em comum e como realizar a troca de informação entre os serviços sem causar acoplamento desnecessário. Nesse vídeo falo um pouco sobre minha experiência estudando esses dois pontos e minhas conclusões.
✅ Mais vídeos relacionados com esse:
MVP de microsserviço com TypeScript, Mongo e TDD | Behind the Code #10
• MVP de micro-serviço c...
Acompanhe a Rocketseat nas redes sociais:
Twitter: @rocketseat
Facebook: @rocketseat
Instagram: @rocketseat_oficial
Linkedin: @rocketseat
Nos ouça também no Spotify:
- Podcast Faladev

Опубликовано:

 

26 авг 2021

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 363   
@bughunter94
@bughunter94 2 года назад
cara, esse formato ficou bom demais
@rocketseat
@rocketseat 2 года назад
Que show que curtiu, Natalia! Valeu demais pelo feedback! 💜 🚀
@RodrigoKulb
@RodrigoKulb 2 года назад
18:23 Como um desenho simples pode explodir nossa mente de uma forma tão grandiosa!!! Parabéns Diego pela clareza na explicação!
@giannoulakis
@giannoulakis 2 года назад
Na empresa onde trabalho não duplicamos os dados no DB do serviço. Usamos o Redash, que centraliza data sources de vários dos serviços e de varios formatos, ficando disponíveis pra consulta através de queries SQL. A query fica salva e pode-se definir um cache pra ela, com revalidação configurável. Então os serviços que precisam de dados de outros, podem consultar pela query_id os dados do Redash, que já vão estar em cache.
@brunorafael5665
@brunorafael5665 2 года назад
Seria um formato então de data center (banco de dados) com a uma api rest / redis (cache) que distribui as informações através da requisição ?? Fiz um sistema semelhante a este usando typeORM (nodejs) + redis (cache) para recuperar dados do data center a partir de views já pré definidas no banco
@tiagogoncalves6021
@tiagogoncalves6021 2 года назад
seria então uma tabela de usuario separada de qualquer sistema, na qual quando você quiser consumir, editar, inserir, é so chamar esta query(ou usar qualquer orm)?
@pauloimon
@pauloimon 2 года назад
Guilherme, não conhecia o Redash, mas o que acontece se ele cair? Existe algum impacto nos serviços que precisam consultar dados nele?
@luca0898
@luca0898 2 года назад
Como vocês lidam com indisponibilidade do serviço? Pelo que entendi o sistema fica completamente dependente dessa estratégia
@giannoulakis
@giannoulakis 2 года назад
@@tiagogoncalves6021 isso, mas o redash é somente pra leitura, os dados sao consultados nele através de uma api (passando o ID da query que já está salva)
@Rychell1993
@Rychell1993 2 года назад
@Rocketseat faz uma trilha de backend avançado que foque nessa parte 💜
@dieegosf
@dieegosf 2 года назад
A ideia é trazer cada vez mais esses assuntos pras trilhas existentes.
@samuelpaiva830
@samuelpaiva830 2 года назад
Sempre trabalhei em monolitos. Quando parei pra estudar sobre arquitetura de microserviços, como o diego falou, o que mais foi dificil absorver foi a questão da consistência relacional de dados e concordo 100%, é uma questão de mindset e como vc enxerga o domínio da aplicacão. Parabéns pelo conteúdo.
@BrunoCAAD
@BrunoCAAD 2 года назад
Esse tipo de vídeo com abstrações postas de forma gráfica fica muito bom, pois ajuda mentalizar os modelos. Parabéns!
@LeapWithGabriel
@LeapWithGabriel Год назад
que video legal de se ver, adoraria ver videos nessa linha quase como um video "amador" sem tantas edições, video simples com um conteúdo sensacional.
@tyagoveras7921
@tyagoveras7921 2 года назад
Como instrutor de banco de dados, eu realmente fiquei surpreso sobre a duplicidade dos dados. Se possível, seria ótimo mostrar tanto o diagrama dos bds e como você tá fazendo essa integração entre as aplicações 🙏
@dieegosf
@dieegosf 2 года назад
Boa, no próximo vídeo vou trazer a parte mais técnica.
@antoruby
@antoruby 2 года назад
Fala Tyago, sobre a duplicação de dados, o segredo é mudar o paradigma e pensar como as empresas funcionavam antes da informática: papel carbono e três vias. Quando uma venda é realizada, o pedido é copiado e cada via usada por uma parte da empresa. Uma via para a entrega, uma para o financeiro, uma para o controle de estoque, por exemplo. Cada “microserviço” da empresa vai usar a informação que necessita para tocar a sua atividade (itens e endereço pra entrega, preço e pagamento para o financeiro, etc.). E cada “microserviço” fica responsável por “se inscrever” a eventos que mudam esses dados (a entrega recebe notificação de mudança de endereço, mas o financeiro não precisa disso). Ah! E as vias passando de mão em mão são naturalmente uma comunicação assíncrona! Pensa em uma pilha de recibos em cima da mesa esperando pra ser processado ;)
@guijas9981
@guijas9981 2 года назад
@@antoruby analogia perfeita!
@moisesdematosgil7860
@moisesdematosgil7860 2 года назад
De fato, quando o assunto é Microserviço, acredito que esse é o ponto de maior cautela... duplicação de dados, conexoes inter-serviços, etc...
@frkdev
@frkdev 2 года назад
Mais um dos infitos acertos da rocket esse formato ta f e n o m e n a l!! Parabéns!!!
@JacksonAlfonso
@JacksonAlfonso Год назад
Muito dificil achar um conteúdo tão claro e objetivo como vc mostrou no vídeo, parabéns ficou excelente !!!
@josemorista2697
@josemorista2697 2 года назад
Excelente conteúdo, gostaria bastante de conteúdos do padrão Rocket sobre uso do GRPC, Pub/Sub e afins no Node. Mas acho que um vídeo como esse entendendo o core da solução já é a base pra qualquer estudo de qualidade! :)
@robertooliveira7558
@robertooliveira7558 2 года назад
Muito legal o conteúdo Diego! Essas dúvidas eu tenho muito também. Já que decidi migrar para microsserviço. Vai ser muito útil se você postar mais conteúdos como esse. Parabéns mais uma vez a vc e a Rocketseat!
@chewbacca01
@chewbacca01 2 года назад
Que incrível Diego! vídeo maravilhoso, to adorando esse formato vlog.
@rocketseat
@rocketseat 2 года назад
Que massa que ta curtindo, Alex! Valeu demais pelo feedback! 💜 🚀
@jhoyascari
@jhoyascari 2 года назад
Os videos nesse formato ficaram muito foda, parabéns.
@rocketseat
@rocketseat 2 года назад
Que massa que curtiu, Jhoy! Importante demais esse feedback pra nós! 💜 😍
@goodvandro
@goodvandro 2 года назад
Excelente didática e o novo formato de video! Estou ansioso para aprender mais sobre microserviços. Gostaria de ver a parte prática.
@alexlekito819
@alexlekito819 2 года назад
Achei incrível esse vídeo! Você consegui fazer eu entender de forma simples o porque de um micro serviço. Que venha o código! 😁👨🏾‍💻💻👊🏾💪🏾
@andresdosantos5310
@andresdosantos5310 2 года назад
Esse trio Nest + Graphql + Prisma eu vou estudar no ano que vem. E o formato tá bem legal, ainda mais descontraído.
@wellingtonmatos6340
@wellingtonmatos6340 2 года назад
Ontem o vídeo foi ótimo, é um posicionamento que te trás mais uma via de solução com base na POC de Diego, entretanto vejo que hoje, digo hoje pois assistir o vídeo duas vezes, tomei nota da experiência dele para fortalecer as minhas decisões pois sei como é difícil propor uma nova e/ou melhor solução, e de acordo com que se reobserva a prova de conceito a gnt passa a notar que o material agrega conhecimento de valor e por isso as apresentações de Diego tem se tornado melhor a cada dia. Parabéns Diego!
@Pedromarneto1303
@Pedromarneto1303 2 года назад
Tô justamente avaliando que abordagem usar para o próximo passo na empresa que trabalho e estava pesquisando sobre microsserviços. Não estava conseguindo imaginar iria ficar já que cada serviço deve ter seu DB, esclareceu muita coisa para mim e tenho certeza que para um monte de gente! Conteúdo super relevante! Obrigado pela contribuição para a comunidade!
@pe-sauloegito5198
@pe-sauloegito5198 2 года назад
Curti demais esses conceitos. Já ouvi muito, mas ainda tinha dificuldade em duplicidade de dados. Valeu!!!
@cassiocarvalho9491
@cassiocarvalho9491 2 года назад
Opaaa claro que quero ver mais sobre isso aee, se puder mostrar exemplos do uso como vocês fazem tô ansioso já
@phsdevweb
@phsdevweb 2 года назад
Muito massa esses vídeos são incríveis, cara já deixando o Like Maroto e compartilhado. Sempre bom aprender contigo. Assisti o vídeo sobre tuas vídeo aulas e me deu uma luz pra resolver meu EAD. Precisei aprender React para iniciar um projeto onde trabalho, fiz a tua primeira NLW na época, só com ela eu desenvolvi o projeto e imagina o que aconteceu, virei teu aluno KKKK. Sucesso hoje e sempre e obrigado por tudo e todo o seu trabalho.
@fvgoya
@fvgoya 2 года назад
Cara esse tipo de vídeo / formato acaba sendo MUITO mais VALIOSO do que um vídeo de tutorial. E olha que tutoriais são super úteis. Você comentou o problema e ainda MOSTROU a sua solução. Sensacional ver como os outros pensam.
@LeandroUngari
@LeandroUngari 2 года назад
Muito bacana esse formato de vídeo, ficou top! Sobre comunicação assíncrona, eu descobri ela no meu trabalho novo há alguns meses atrás, a gente usa tanto rabbit mq quanto o Kafka, só que estamos em um processo de modernização e estamos tendendo mais para o Kafka. Mas claro, sou bem iniciante nesse assunto queria ver mais
@tharlysalves5630
@tharlysalves5630 2 года назад
Incrivel o quanto o @Diego consegue tirar um pensamento que a pessoa tem na cabeça, sempre fui contra duplicação de dados mais vendo dessa forma fica tão simples de entender o porque duplicar e o cara mostra o quanto é correto : ) : )
@maxuelllima2767
@maxuelllima2767 2 года назад
Cara tô achando muito massa esse estilo de vídeo que vcs estão fazendo agora qualidade muito top.
@rocketseat
@rocketseat 2 года назад
Que massa que ta curtindo esse formato, Maxuell! Valeu demais pelo feedback! 💜 😍
@rogeriopst450
@rogeriopst450 2 года назад
tb fiquei bem surpreso qdo soube q duplicava. mas a forma como vc colocou no livro clareou bastante e vou conseguir apoiar se alguem na empresa em q trabalho pensar ou nao em migrar p microservices. a proposito, video ficou otimo tanto conteudo como o som, fundo etc =) vlw. parabens.
@igorvinnicyos2113
@igorvinnicyos2113 2 года назад
Muito bom! Eu sempre achei muito complicado de entender a arquitetura de micro serviços, até por que eu sempre fui mais focado em front, mas esse vídeo ajudou bastante a entender de forma geral, traz o vídeo mostrando na prática!
@rocketseat
@rocketseat 2 года назад
Wooow! Que feedback massa, Igor! Deixa com a gente! 💜 🚀
@cafecomdeploy
@cafecomdeploy 2 года назад
Diego Muito bom seu vídeo, muito bem colocado... Vou compartilhar uma experiência que a mais ou menos um ano e meio eu tive... Faz uns 2 anos que sempre foquei em trabalhar com aplicações distribuídas, quando vejo que há um crescimento dessa aplicação em algum momento, e confesso que a ultima empresa que fiz parte, foi bem difícil trazer essa mudança de mindset, mesmo mostrando todos os lados positivos e o quanto para o cenário da empresa os positivos se sobressaem dos negativos. Até que fui desligado, dessa empresa rs... Não sei ao certo se foi por esse motivo, mas era muito evidente que o time estava estacionado, não aceitava sair da zona de conforto... Mas hoje eu vejo que foi a melhor coisa que aconteceu. :) Grande abraço!
@marcospaulo.08
@marcospaulo.08 2 года назад
Mano só foi que gostei demais desse formato de vídeo.... Ficou foda demais !!!!
@mateusgarcia1650
@mateusgarcia1650 2 года назад
Formato muito show, conteúdo muito bom, altissímo nível. \o/ a Daniele tem que trazer um code/drops nesse contexto hein! haha
@dieegosf
@dieegosf 2 года назад
Booooooa, vamos cobrar ela! haha
@rvettorassi
@rvettorassi 2 года назад
Mereceu meu like. Parabéns!
@aleodoni
@aleodoni 2 года назад
Show Diego !!! Como é bom "conversar" com mais gente pra clarear as ideias... Eu estava criando alguns projetos baseados em MS, mas estava utilizando o Rabbit pra mensageria também porque com ele a gente consegue enviar mensagens síncronas, e era isso que eu estava fazendo para buscar algumas informações entre os MS. Só que esse meu approach cria um acoplamento forte entre os MS, que eu não estava gostando muito. Acho melhor a ideia de "duplicar" algumas informações entre os BDs, e mantê-las atualizadas de maneira assíncrona, assim mesmo que um MS caia, os outros (teoricamente) podem continuar funcionando sem problemas. Grande abraço e se puder, gostaria de mais vídeos como esse... Já valeu o meu dia !!!
@gustavocaetanoreis8882
@gustavocaetanoreis8882 2 года назад
Muito bom trazer código e desenhos.. Estou curtindo muito os episódios! Parabéns!
@rocketseat
@rocketseat 2 года назад
Que massa que ta curtindo o novo formato, Gustavo! Valeu demais pelo feedback! 💜 🚀
@JojiGaijin
@JojiGaijin 2 года назад
Muito bom, fiz um curso de banco de dados e consegui absorver como funciona o microserviço na prática Maneiro de mais.
@luanalbuquerque5073
@luanalbuquerque5073 2 года назад
Esses vlogs tão muito brabo, parabéns equipe, beijo Deschamps
@rocketseat
@rocketseat 2 года назад
Que massa que curte esse formato, Luan! Valeu demais! Essa equipe é braba! 💜 🚀
@Guilherme22914
@Guilherme22914 2 года назад
Esse formato é massa demais!!
@guilhermeabreu8459
@guilhermeabreu8459 2 года назад
Parabéns pelo conteúdo publicado Diego, me pegava na mesma dúvida que vc, mas com este vídeo, felizmente, abriu ainda mais minha visão sobre o assunto...
@rocketseat
@rocketseat 2 года назад
Que feedback massa, Guilherme! Valeu demais! 😍 🚀
@gabryelfhsoares
@gabryelfhsoares 2 года назад
Muito esclarecedor esse vídeo, obrigado 👏👏👏😁
@williandandrade
@williandandrade 2 года назад
Muito bom esses vídeos sobre os desafios do dia a dia! Na empresa a gente tá com o desafio de quebrar um monolito também e estamos fazendo algo parecido, só que com SQS e SNS. Sempre tem um trade-off, às vezes faz sentido duplicar uma informação para tornar o serviço mais independente, às vezes não. Se possível fala sobre a parte de quebrar o banco atual e como estão transferindo os dados existentes, se precisam voltar dados para o banco principal para não quebrar processos, etc.
@wiliancalora8334
@wiliancalora8334 2 года назад
Vídeo Espetacular como sempre! Concordo completamente. O Elemar Junior da Eximia também segue essa mesma linha. Valeu por compartilhar esses conhecimentos.
@SitedoSobrinho
@SitedoSobrinho 2 года назад
Show de bola! Esse formato é bem bacana mesmo bem da hora...
@matheusrmartinez
@matheusrmartinez 2 года назад
Que massa esse formato de vídeo! O conteúdo também ficou show
@rocketseat
@rocketseat 2 года назад
Que massa que curtiu, Matheus! Valeu pelo feedback! 💜 🚀
@StanleySathler
@StanleySathler 2 года назад
Pô, traz pra nós o próximo vídeo mostrando os serviços. Muito bom!!
@gustavomontirocha
@gustavomontirocha 2 года назад
Muito bom! Quero ver isso tudo na prática e de preferência abordando como ficariam serviços separados com integridade referencial (ex se vc tivesse um microservico de turmas e outro de alunos).
@rumoaotopo.s.a
@rumoaotopo.s.a 2 года назад
Massa Diego, parabéns pelo conteúdo, muito bacana essa abordagem. Já manda logo um #CodDrops disso tudo. Semana que vem já??? Kkkk
@rafaelvieira8957
@rafaelvieira8957 2 года назад
Muito massa o video. Eu já tinha começado a estudar sobre microsserviços em uma bolsa da faculdade, e achei muito intessante, pois comecei a ter uma noção da quantidade de benefícios dessa abordagem, mas além disso da complexidade e dos problemas que podem vim, e por isso é bom estudar e avaliar para verificar se é essa transição é realmente algo viável. Além disso, também estudei esse conteúdo em uma disciplina da faculdade, e achei muito legal o professor ter trazido esse assunto e algumas tecnologias correlacionadas, como RabbitMQ e Kubertnets
@beatrizfelix
@beatrizfelix 2 года назад
Muito obrigada por compartilhar!
@alonsoricardo
@alonsoricardo 7 месяцев назад
Bom demais, excelente explicação
@LucasSoaresAraujo
@LucasSoaresAraujo 2 года назад
Bacana o vídeo. O único problema de usar apenas Pub/Sub é que se algum serviço não estiver on-line ele vai perder a atualização. Creio que utilizar uma message queue seria uma melhor opção pra ter uma garantia maior.
@CalangoBit
@CalangoBit 2 года назад
Muito bom! Legal programar a trigger na atualização da tabela de pessoas! Parabéns!
@JonasREJCS
@JonasREJCS 2 года назад
Adotamos o NestJS aqui na minha empresa e já estamos colhendo os frutos, produtividade, organização de código e facilidade de manutenção! Antes usávamos JS puro.
@Zizaco
@Zizaco 2 года назад
18:33 Obrigado por enfatizar que elas são "duplicadas" Essa é a parte que a maioria das pessoas entende errado sobre Microservicos. Isso não é óbvio e eu diria que é o erro mais comum de quem adota Microservicos: Chamada rest pra todo lado estourando a latência. Tem um vídeo com o case da Dell chamado "Avoiding Microservicos Mega Disasters" que explica bem isso.
@jeanjunior9948
@jeanjunior9948 2 года назад
Catapimbas, o vídeo certo no momento certo. Estou passando exatamente pelo que o Diego de um ano atrás passou
@JoaoGomes-wy8gu
@JoaoGomes-wy8gu 2 года назад
Mais um video maravilhoso, um exemplo pratico de uma emplementação referida no video seria top!!!!!! Mas como sempre, conteudo de qualidade e de coração!!!!!!!
@lucascarvalho1367
@lucascarvalho1367 2 года назад
Fala diego, faz um video mostrando o codigo da arquitetura de microserviços e a comunicação entre os serviço. Video muito massa!!
@protagonistastech
@protagonistastech 2 года назад
A participação do Cleiton foi a melhor parte do vídeo 😂. Arrasaram! 🥳
@cleitondks7
@cleitondks7 2 года назад
Toque especial hahah 💜
@Lucassilva-cp4eg
@Lucassilva-cp4eg 2 года назад
Muito bom esse formato!
@rocketseat
@rocketseat 2 года назад
Que massa que curtiu, Lucas! Valeu por trazer seu feedback! 😍 💜
@joaobibiano
@joaobibiano 2 года назад
Concordo 100% com a "opinião" do framework. Isso vai unificar a equipe e aumentar a produtividade! Muito massa! Cada ferramenta em seu quadrado e momento :) Recomendo o estudo do CAP theorem!
@acm.marques
@acm.marques 2 года назад
Interessante a forma de pensar para micro service e eu aprendi muito de arquitetura com vc hoje, trabalho com react native mas gosto também de backend.
@eduardosplima
@eduardosplima 2 года назад
Excelente conteúdo, ansioso pelo vídeo com o código dessa solução!
@rocketseat
@rocketseat 2 года назад
Que massa que curtiu, Edu! 😍 💜
@augustoximenes445
@augustoximenes445 2 года назад
Diego, parabéns pelo vídeo! Onde trabalho, diariamente enfrentamos este desafio e isso nos fez procurar soluções/padrões para resolver a questão. Recentemente, entramos nos estudos sobre as soluções de CDC (Change Data Capture). Já ouviu falar? Com ela, conseguimos gerar menos códigos "sincronizadores" e delegamos, à esta solução especialista em eventos de dados, a responsabilidade de sincronizar outras bases de dados ou, ainda, entregar os eventos aos serviços de mensageria. Casos de aplicação: bases analíticas e de outros microserviços (caso apresentado no seu vídeo).
@willianleman7712
@willianleman7712 2 года назад
Ótimo o novo formato!
@rocketseat
@rocketseat 2 года назад
Que bom que curtiu, Willian! Valeu pelo feedback! 💜 😍
@felipeleite11
@felipeleite11 2 года назад
Excelente conteúdo! Queremos ver o setup do Kafka ou outra ferramenta de comunicação assíncrona.
@marcioferlan
@marcioferlan 2 года назад
Diego, parabéns pelo vídeo. O formato ficou top! Gostei muito da stack adotada para os projetos de backend isolados, também comecei a usar o Nest recentemente e estou gostando muito. O conceito que você apresentou faz muito sentido com a forma que vejo arquitetura distribuída. É realmente uma mudança de paradigma e traz seus desafios também. Achei super bacana a ideia de você mostrar aplicações reais. Queria algumas ideias para monitoramento, governança e atualização de microsserviços desacoplamos e interdependentes. A sugestão do Deschamps é muito boa. Trazer pessoas com experiência prática para abordar assuntos de interesse da comunidade e, quem sabe, mostrar um pouco de código seria bem legal. Grande abraço!
@dieegosf
@dieegosf 2 года назад
Boa, no próximo já quero trazer código nessa parte :)
@MarceloTononChiovatto
@MarceloTononChiovatto 2 года назад
Fala Diego! Dizer que esse conteúdo é super interessante seria "chover no molhado" :). Obrigado por abordar, colocando luz sobre o tema! O título desse vídeo é a essência do que muitos Devs sentem quando têm o primeiro contato com os microsserviços. Acho que de uma maneira bem natural, os paradigmas de normalização de bases de dados são primeiro "dogma" dos BDs relacionais que enfrentam resistência cognitiva em serem quebrados. Acho que a dúvida que você teve, todos nós temos também!!! Distribuir dados (gerando redundância), os quais, em tese, deveriam ser únicos, é como "tirar um chão" (que sempre esteve ali) sob os pés de quem há bastante tempo se calça nas Formas Normais de normalização de BD relacionais. As razões pelas quais isso DEVE acontecer (não tenho dúvidas, ou pelo menos não muitas kkk) nem sempre estão muito claras para todos. Resolvi então escrever, sob a ótica de quem está gostando muito do conteúdo, para fazer uma humilde sugestão para outros vídeos sobre o tema: Seria legal expor o Cenário, no que se refere a requisitos não funcionais. Explico melhor abaixo, mas creio que na cabeça do Dev ainda não ficam claras todas as questões que os microsserviços se propõem a solucionar. Creio que a quebra de paradigma do BD Relacional e das aplicações monolíticas se justificam quando colocamos elementos adicionais para a solução de requisitos não funcionais. Traduzindo em miúdos, o cenário para o qual os microsserviços são uma solução necessária me parecem associados a: 1o. Desacoplamento, considerando uma visão pura de manutenibilidade, disponibilidade e escalabilidade; 2o. Volume x tempo de resposta, considerando um requisito não funcional importantíssimo para aplicações de grande porte; Será que estou certo? Ou será que estou viajando no espaço sem propulsores? :) Acho que fundamentar a decisão sobre quando quebrar os paradigmas e quando não, em detrimento de alguma razão clara e mensurável, é um tema muito muito importante. Seria muito bacana expormos isso para a comunidade dar um próximo passo de maturidade em relação às suas decisões de arquitetura. Teremos mais condições de decidir que tipo de foguete a gente usa para ir para Lua e que tipo precisamos para ir a Marte. Um grande abraço e muito, muito obrigado por expor temas tão relevantes e importantes para nós desenvolvedores. O trabalho da Rocketseat não tem paralelo em termos de qualidade, relevância para o mercado e amadurecimento ágil dos Devs. #tamojunto
@hexemeister
@hexemeister 2 года назад
Poderia fazer um POC de microserviços pra gente acompanhar o desenvolvimento
@samusaw
@samusaw 2 года назад
Esse cara e esse time são top!!!
@JhonatanMorais
@JhonatanMorais 2 года назад
Como vc perguntou no final, acho seria bem bacana mostrar o fluxo dos dados, os eventos e a recebição deles. Ver o código ajuda, mas depois de muito tempo passei a preferir aprender como são as "Regras e passos do negocio". código mesmo a gente corre atras de fazer afinal uma mesma coisa pode ser codada de zilhoes de formas. desde que o input e output sejam os mesmos esperados
@carlosjunior5371
@carlosjunior5371 2 года назад
O grande desafio do desacoplamento é a consistência (Vide o teorema CAP). Para serviços que não guardam estado(Sem banco de dados), show. Agora pensando como Bounded Contexts do DDD por exemplo, é que a porca torce o rabo. Na maioria dos casos é praticamente inviável desacoplar sem usar Event-Driven com um serviço de mensageria.
@thiago75501
@thiago75501 2 года назад
To nisso dai. Tenho o famoso exemplo de ecommerce onde quando realiza a compra o pessoal do estoque tem que remover um item do banco depois o pessoal do financeiro tem receber o dinheiro e por fim o pessoal do delivery entregar o produto. Caso ocorra um entre as transações o banco vai ficar inconsistente. To usando rabbitmq no spring e o pattern sagas.
@pauloricardomaltaleal3558
@pauloricardomaltaleal3558 7 месяцев назад
Vídeo excelente, tava estudando afundo mas não ficava claro, agora está como a água.
@roodriiigooo
@roodriiigooo 2 года назад
Show! Aguardando o próximo video! XD
@rocketseat
@rocketseat 2 года назад
Que massa que curtiu, Rodrigo! 😍 💜
@cleyxds7112
@cleyxds7112 2 года назад
esse tipo de vídeo e mttttttt bom
@ivanvinicius8317
@ivanvinicius8317 2 года назад
Fala Diego, acho que seria massa trazer mais sobre a parte prática!
@nallamo
@nallamo Год назад
esse vídeo foi libertador faz tempo que eu queria entender isso
@erinaldonascimento7733
@erinaldonascimento7733 2 года назад
Nossa me apaixonei pelos vídeos de vcs , conheci pela Los grandes
@TheFigueiredorj
@TheFigueiredorj 2 года назад
Viva, Pergunta : Como foi planeado o warmup dos serviços (email services), quer dizer no reboot, como alimenta a colecção inicial?
@viniciustavarespimenta105
@viniciustavarespimenta105 2 года назад
Fala Diegao, gostaria de elogiar esse formato de vídeo, ficou excelente.
@rocketseat
@rocketseat 2 года назад
Faaaaala, Vini! Valeu demais pelo feedback! Que massa que curtiu esse formato! 😍 💜
@luca0898
@luca0898 2 года назад
No meu trabalho estou criando um serviço de criação de pedidos que gera uma planilha de orçamentos para ajudar o time de atendimento. Ao invés de criar a planilha no momento da criação do ticket de atendimento, publiquei numa fila e um serverless fica ouvindo as alterações nela. Dessa forma a função cria a planilha e vincula numa conta Onedrive para o time desfrutar da mesma. Ótimo vídeo Diogo 🚀
@brunorafael5665
@brunorafael5665 2 года назад
Muito show!! @Rocketseat várias dúvidas me surgiram em torno dessa assunto : - Qual a vantagem de usar outro banco de dados e qual seria o melhor tipo de banco para armazenamento desses informações simplificadas?? (Redis/MongoDB/PostgreSQL) - Por que não usar outra conexão para o mesmo banco, já que a ideia é tornar independente da aplicação principal? Nada impede que duas aplicações possam interrogar o mesmo banco. - Seria possível usar logstash para a sincronização desses dados? Usando templates específicas para alimentar os diferentes bancos de dados (simplificados), partindo do princípio que temos outros serviços com seu próprio banco, além desde de envio de e-mails. Desde já agradeço pelo o vídeo, e obrigado pela a resposta a este comentário.
@dieegosf
@dieegosf 2 года назад
1. A vantagem de usar dois bancos é que os serviços ficam desacoplados e não preciso ficar buscando dados entre múltiplos serviços durante a execução. Você pode usar qualquer banco, a ideia é usarmos o conceito de banco de dados poliglota, ou seja, podemos ter bancos diferentes (Mongo, PG, MySQL) pra cada micro-serviço. 2. Duas aplicações com o mesmo banco causa acoplamento porque se o banco estiver lento por causa da aplicação A, a aplicação B sofre com isso. 3. Não sei, tenho pouco conhecimento em logstash.
@JhonatanMorais
@JhonatanMorais 2 года назад
Grande Video!
@valdineisantos7513
@valdineisantos7513 2 года назад
Conteúdo show. Valeu 👍
@rocketseat
@rocketseat 2 года назад
Que massa que curtiu, Valdinei! 💜 🚀
@pablodanilo2481
@pablodanilo2481 2 года назад
Fala Diegão! manda esse vídeo de toda essa estrutura na prática!! haha e fiquei surpreso com a parte de duplicação de dados entre os serviços, feito por integração 🤯 e aqui na FIRMA, estamos planejando usar Nest + Graphql + Prisma nos próximos projetos :PPPPP muito massa o conteúdo!! 🚀
@dieegosf
@dieegosf 2 года назад
Maaaaaassa demais!
@edufabricio
@edufabricio 2 года назад
Cara é isso ir com cautela é o caminho !! não ir no by the book.. a granularidade correta , na real quantidade de equipe influencia na divisão neh.. não é so a visao de negócio mesmo.. show legal começar a levar essa cultura pro publico geral ajuda a comunidade a evoluir na maturidade.
@joaobibiano
@joaobibiano 2 года назад
Sugiro na parte dos logs adicionar um campo chamado "PlatformID", dessa forma, sempre que houver um erro, você consegue saber em qual micro-serviço a falha nasceu, melhorando a observabilidade.
@dieegosf
@dieegosf 2 года назад
Fala João, cara, consegue dissertar mais sobre isso? Não entendi muito bem aonde adicionaria esse platform_id, na mensagem do Kafka?
@joaobibiano
@joaobibiano 2 года назад
@@dieegosf irá ser um atributo no body. O intuito é saber quem emitiu a mensagem, e nos logs (bugsnag, Kibana etc) também adicionar sempre esse identificador a fim de saber qual microserviço teve a excessão. No exemplo que você deu não se encaixaria, mas em microserviços, interdependentes, em que você abre mão da availability para ter o dado mais fresco, você vai ter uma requisição a ser trafegada entre 3, 4, ou mais serviços. Foi nesse intuito e cenário a sugestão.
@thiagocola
@thiagocola 2 года назад
Dá uma olhada em HATEOAS - Hypermedia as the Engine of Application State, um modelo desenvolvido por Leonard Richardson.
@maicongavazzoni2112
@maicongavazzoni2112 2 года назад
Muito interessante sim, acho que pode fazer mais vídeos no código.
@rgsnobody
@rgsnobody 2 года назад
Finalmente uma opinião lúcida sobre microsserviços.
@rocketseat
@rocketseat 2 года назад
Curtiu o conteúdo, Rodrigo? 💜
@tgbaldo
@tgbaldo 2 года назад
Eu só não costumo usar o termo "dados duplicados", pois pode soar pejorativamente e algumas pessoas acabam entendendo errado (experiência própria), então eu uso o termo "dados distribuídos". E se vc não trabalhar dessa forma, vai matar uma das principais vantagens da arquitetura de micro-serviço: não ter um único ponto de falha. Mas, além do desafio de manter os dados distribuídos, é lidar com transações distribuídas nessa arquitetura, aí a coisa vai ficando mais complexa, mas existem patterns para resolver isso, como SAGA, por exemplo. Sem contar que, pode acontecer do seu Message Broker falhar, e a mensagem não ser entregue ao micro-serviço X, e você acabar tendo problemas de dados inconsistentes ou até mesmo a falta deles em algum micro-serviço. Enfim, trabalhar com esse tipo de arquitetura requer um certo cuidado, estudo, testes, etc. Sugiro a leitura do livro "Microsserviços prontos para produção" da Susan J. Fowler (Ex Gerente de SRE da Uber).
@rmedola
@rmedola 2 года назад
Ficou legal o modelo. Utilizo serviços parecidos, porem o BD é único. Cada serviço consome o que lhe interessa da base. Obviamente o tuning da base fica justo pra aguentar a carga. Backup, replicação também são pontos sensíveis.
@0hora313
@0hora313 2 года назад
Vídeo bom demais!
@rocketseat
@rocketseat 2 года назад
Que massa que curtiu! 💜 😍
@georgearmando757
@georgearmando757 2 года назад
Conteúdo muito bom, parabéns a ao grande Diego. A minha questão é a seguinte: Ao desenvolver uma aplicação, vou directamente para microsserviços ou começo por um monolítico? Porque parece que uma arquitetura em microsserviços poderá levar um pouquinho de mais tempo.
@AlexandreHPiva
@AlexandreHPiva 2 года назад
Fala Diego! Você acha que seria interessante a criação de uma rotina de sincronização das bases de tempos em tempos? A ideia seria validar os dados no caso de quedas no microserviço de envio de e-mails onde ele acabou não "escutando" alguns eventos emitidos pelo serviço principal.
@miguelpanuto3820
@miguelpanuto3820 2 года назад
Na empresa onde eu trabalho, como usamos o azure pra tudo, acaba sendo utilizado o servicebus da microsoft em ambientes buildados pelo CI/CD, e em ambiente local é utilizamos o RabbitMQ, por realmente ser mais fácil. Outro fato interessante sobre, é que utilizamos muitas vezes mais de um MS pra uma feature, sendo muitas vezes um pra entrada do dado (podendo ser http2 ou amqp) e outro que utilizar esse dado pra alguma coisa, seja pra transforma, armazenar e tudo mais. Esse mundo de integrations é muito louco, cada dia me empolgo pra aprender mais sobre!
@nilopolitano
@nilopolitano 2 года назад
Conteúdo bom, obrigado.
@rocketseat
@rocketseat 2 года назад
Nós que agradecemos o feedback, Claudio! 💜 🚀
@Matheus-qv7yw
@Matheus-qv7yw 2 месяца назад
excelente!
@williancarddd
@williancarddd 2 года назад
vlog com código , que blzinha. :)❤
@rocketseat
@rocketseat 2 года назад
Curtiu, William? 😍 💜
@williancarddd
@williancarddd 2 года назад
@@rocketseat muito😍
@alexjosesilvati
@alexjosesilvati 2 года назад
Gostei do vídeo .. mostrou bem embora resumida o que são microserviços e a mensageria
@thiago75501
@thiago75501 2 года назад
Podiam falar tbm de monolíto estruturado.
@diegoca8682
@diegoca8682 2 года назад
Que legal seu depoimento. É sempre muito bom acompanhar a Rocketseat. Vai aqui uma dica de uma pessoa que gosta muito de backend: Quanto menor for o seu escopo, mais fácil serão as suas alterações ou expansões. Reduzir escopo significa especializar seus serviços. É aí que entram os conceitos de microsserviço e de redução de acoplamento, dentre outros. Abraço!! Sucesso!
@dieegosf
@dieegosf 2 года назад
Exato! Eu não sei se estou pensando certo, mas pra não trazer tanta fricção agora, pretendo fazer em etapas, separar um gigante em 10 menores e depois esses 10 menores serem especializados e divididos em 50 por exemplo, o que acha?
@diegoca8682
@diegoca8682 2 года назад
@@dieegosf Eu apoio 100%.
@diegoca8682
@diegoca8682 2 года назад
@@dieegosf A parte mais trabalhosa é alinhar a especialização com o banco de dados e suas restrições de integridade. O resto é delicinha, como diria nosso amigo Deschamps.
@GeraldoJr
@GeraldoJr 2 года назад
Diego mostra como ficou a infra também!
Далее
Precisei migrar 600 aulas do Vimeo em 3h (com node.js)
28:34
Microservices // Dicionário do Programador
9:51
Просмотров 77 тыс.
Каха заблудился в горах
00:57
Просмотров 597 тыс.
Я ВЕРНУЛСЯ 🔴 | WICSUR #shorts
00:57
Просмотров 1,5 млн
Microsserviços, banco de dados e relatórios
28:41
Просмотров 13 тыс.
TUDO que você deve estudar de JavaScript antes do React
1:25:24
Каха заблудился в горах
00:57
Просмотров 597 тыс.