Startec

Startec

[DÚVIDA] Como micro services se comunicão · MestriRodrigo

Mai 18, às 19:18

·

3 min de leitura

·

0 leituras

Estou querendo desenvolver uma arquitetura de microservices e até hoje trabalhei em monólitos onde as apis compartilhavam uma seção, mas em um novo projeto queremos implementar arquitetur...
[DÚVIDA] Como micro services se comunicão · MestriRodrigo

Por favor, não venha com o dogma que você prega no SOpt há anos, citando todos os seus links como se fossem lei e a maioria de 3, 5 anos atrás, ainda bem que aqui o downvote é bem diferente, não né?

Primeiro, a arquitetura de microsserviços é uma das maiores modinhas que apareceram em TI. Fique longe o quanto puder.

Errado, suponhamos que eu tenha um serviço distrbuído e uma das suas funções é escrever o output de algo processado em um bucket/banco/arquivo por exemplo. Por qual motivo eu teria o serviço X deployado em todas as minhas instancias quando eu poderia ter um serviço Y bem leve isolado lendo output de uma fila alimentada pelo serviço X fazendo isso? Utilizando assim muito menos recurso, tempo de resposta, não consumindo e alocando recurso do serviço X inteiramente.

Existem muitos e muitos casos, principalmente se você precisa lidar com API de terceiros, você vai confiar o seu serviço inteiro, que pode causar lentidão, bug dentre outras mil e uma coisas quando poderia ter essa feature de ir na API e alimentar um banco ou chamar outra API isoladamente e ter esse output pra ser processado no seu outro microserviço?

Ou que tal um serviço que lê seu banco de dados e coloca os dados em um redis para fácil acesso? Faria sentido eu fazer os dois no mesmo serviço? Eu posso ter um só pra escrever e outro só pra ler.

Microsserviços é computação distribuída, que é considerado o problema mais difícil de resolver da computação, só pessoas com extraordinário conhecimento farão corretamente.

Sim, você tem razão, isso era verdade há uns 6 ou mais anos atrás, como em seus posts.

Veja bem, dei exemplos básicos de uso, é óbvio que isso depende de caso para caso. Dizer que é certo ou errado, dificil ou fácil vale somente para você e exclusivamente você.

Sobre a dúvida do OP.

O que quero saber é como elas se comunicam, e como elas garantem que a requisição vem do serviço que a requisitou e não um hacker tentando imputar dados via api. como que eu sei que os dados do usuário que uma api está enviando ou solicitando da outra são dados válidos.

Existem diversas formas de previnir isso. Caso você só receba requisições do IP X, já é um bom começo, outro é criar um template de validação da requisição e você somente aceitará dados que deem match naquele template, você talvez possa limitar a quantidade de req/s se for o caso.

Nada nem nenhum serviço está passível a ser perfeito, vale você limitar ao máximo. Mas vamos imaginar que seguindo a ideia do amigo acima, você tenha tudo junto e seja hackeado, o estrago seria maior, né?

Enfim, não se prenda a dogmas, nem ao que eu disse, veja o que é melhor pra você, o que melhor te atende. Se você acha certo por um servidor web/api/aplicação tudo junto, vai lá, vai só disperdiçar recursos. Se você conseguir distrinchar sua aplicação em microserviços aonde cada uma é acionada por outra por algum evento, você fará algo muito melhor, mais dinamico, e caso haja falha em um processo, seu serviço inteiro não seria afetado, somente tal feature.


Continue lendo

DEV

React MUI Content Security Policy
Material-UI is a user interface library that provides predefined and customizable React components for faster and easy web development, these Material-UI components are based on top of Material Design by...

Hoje, às 19:00

Tech Crunch

Taking the pulse on the Northeast seed market with Techstars' Kerty Levy
Techstars’ Kerty Levy knows a thing or two about where seed funding is, and where it might be going, in the Northeast. During a presentation at TechCrunch’s Early Stage in Boston last month, Levy took a brief...

Hoje, às 15:00

Hacker News

Mastering CSS Blend Modes
CSS mix blend modes provide an easy, yet powerful way to create visually interesting designs. Visual effects galore The modes allow you to manipulate how elements interact with each other. Which can lead in...

Hoje, às 14:18

AI | Techcrunch

3 Views on a16z's latest reported early-stage effort
a16z, a venture capital firm known for its large fund sizes and for shaking up the VC game when it piled into the industry back in 2009, is cooking up a new strategy to potentially bolster its deal flow,...

Hoje, às 14:00

TabNews

Dúvida sobre os "níveis" de experiência · Vnj
Olá galera, estou estudando programação ja faz uns meses e me veio a seguinte dúvida: o que te faz ser um júnior? Pelo que li em alguns posts daqui, seria ter algum contato com o mercado...

Hoje, às 13:15

Hacker News

ARM’s Cortex A53: Tiny But Important
Tech enthusiasts probably know ARM as a company that develops reasonably performant CPU architectures with a focus on power efficiency. Product lines like the Cortex A7xx and Cortex X series use we…

Hoje, às 09:12

Mashable

Save up to 70% on cables, power stations, and more in this Memorial Day sale
This is a great time to upgrade your charging setup. The following content is brought to you by Mashable partners. If you buy a product featured here, we may earn an affiliate commission or other...

Hoje, às 09:00

Tech Crunch

Startups should absolutely work with governments to support defense projects
Maëlle Gavet is the CEO of Techstars and was previously a senior executive at numerous large tech companies around the world. In these times of heightened tensions and global volatility, I believe startups...

Hoje, às 08:30

DEV

How to Track Gumroad Sales in Notion Using Notion API and Python
Introduction In this tutorial, you’ll learn how to track Gumroad1 sales in real-time in Notion2 using 🐍 Python. You will also learn, What are APIs? How to use Gumroad API? How to use Notion API? How run a...

Hoje, às 04:24

TabNews

Como criar um git/github (e as primeras configs) obs: no windows e com o vscode · NicolasdevNx
Olá, este "artigo" tem como objetivo ensinar como baixar e usar o git eo o github(para este não é neseçario o dowload) então vomos lá. 1:Acesse o site https://git-scm.com/downloads escolh...

Hoje, às 02:32