Aprenda sobre microsserviços em um artigo

Autor original: NGINX

Link original: Aprenda sobre microsserviços em um artigo

Fonte de reimpressão: site oficial chinês NGINX


A única comunidade chinesa oficial do NGINX, toda em nginx.org.cn 

 Microsserviços são uma forma de construir aplicativos complexos usando vários pequenos componentes. Este artigo explica como funciona, seus prós e contras e as vantagens que pode trazer.

O que são microsserviços?

Microsserviços são uma abordagem de arquitetura de software para construir aplicativos grandes e complexos usando vários componentes pequenos, cada um executando uma função como autenticação, notificações ou processamento de pagamentos. Cada microsserviço é uma unidade independente em um projeto de desenvolvimento de software, com base de código, infraestrutura e banco de dados próprios. Os microsserviços trabalham juntos e se comunicam por meio de API Web ou filas de mensagens para responder a eventos recebidos.

Arquitetura simplificada de microsserviços

Arquitetura simplificada de microsserviços

Vídeo sobre microsserviços

  • O que são microsserviços?

  • NGINX Plus ajuda o BuzzFeed a migrar para microsserviços

Clique aqui para assistir a um vídeo explicativo detalhado >>

Por que usar arquitetura de microsserviços?

Na arquitetura monolítica tradicional, todas as funções de uma aplicação são implementadas em uma única base de código. Esta abordagem tem várias desvantagens:

  • À medida que os aplicativos se tornam mais complexos, fica difícil para qualquer desenvolvedor entender toda a base de código. Também pode ser difícil para novos desenvolvedores começarem. Uma solução é atribuir diferentes módulos funcionais a diferentes desenvolvedores ou equipes. Isso torna mais fácil para os desenvolvedores controlarem seu próprio código, mas o problema é que torna mais difícil rastrear dependências com outros módulos. Portanto, as alterações em um módulo provavelmente afetarão outros módulos.

  • Quando precisar adicionar ou aprimorar funcionalidades, você deverá compilar e testar todo o aplicativo para verificar se a alteração não quebra a compatibilidade entre os módulos. Em seguida, você deverá implantar o aplicativo inteiro como um único binário.

A arquitetura de microsserviços divide as funções do aplicativo em vários microsserviços (serviços) independentes, o que ajuda a simplificar o CI/CD. Os microsserviços são mais rápidos de desenvolver e mais fáceis de entender e manter. Cada serviço pode ser desenvolvido de forma independente por uma equipe focada exclusivamente naquele serviço. A equipe pode escolher a linguagem de programação, a plataforma de desenvolvimento e o banco de dados mais adequados para os microsserviços. Os microsserviços costumam ser empacotados como contêineres para simplificar ainda mais a implantação.

Os microsserviços são fracamente acoplados, o que significa que não dependem dos componentes internos de outros microsserviços. Eles se comunicam por meio de APIs. Desde que as APIs expostas por cada microsserviço permaneçam compatíveis com versões anteriores, as alterações em um microsserviço não precisam ser atualizadas em nenhum outro microsserviço.

Resumindo, os desenvolvedores que desejam fazer alterações em uma arquitetura de microsserviços podem fazê-lo em um único contêiner de microsserviços, enquanto os desenvolvedores que operam em uma arquitetura monolítica podem ter que gastar muito tempo reescrevendo toda a pilha.

Grupos de usuários de microsserviços

Para responder rapidamente às mudanças nas necessidades de negócios, as equipes técnicas recorreram à arquitetura de microsserviços. Os desenvolvedores estão liderando essa mudança, em grande parte porque mais empresas estão dando aos desenvolvedores o poder de escolher seus aplicativos e ferramentas de entrega. Uma pesquisa com usuários do NGINX realizada em 2020 mostrou que mais da metade dos entrevistados usam microsserviços em algumas ou todas as suas aplicações. Em 2022, mais usuários NGINX que trabalham em empresas que estão se afastando dos sistemas monolíticos dizem que estão adotando microsserviços, em parte devido à escalabilidade que a orquestração de contêineres permite.

Microsserviços 101: Prós e Contras

Os microsserviços podem transformar aplicativos monolíticos tradicionais em arquiteturas mais flexíveis, seguras e eficientes, ajudando você a economizar tempo, custos e recursos significativos. Abaixo está um resumo dos prós e contras dos microsserviços que podem impactar o desempenho e o design do aplicativo.

vantagem:

  • Os desenvolvedores são livres para desenvolver e implantar serviços de forma independente, permitindo uma tomada de decisão mais rápida.

  • Graças ao seu pequeno tamanho e autonomia, uma abordagem baseada em microsserviços pode encurtar os ciclos de desenvolvimento porque diferentes equipes podem implementar diferentes serviços ao mesmo tempo. As dependências entre equipes são frequentemente reduzidas ou até eliminadas.

  • Os microsserviços podem ser facilmente implantados em contêineres, ajudando a reduzir a sobrecarga e a melhorar a portabilidade em diferentes ambientes.

  • Como os microsserviços se integram facilmente às ferramentas de CI/CD, os desenvolvedores podem implementar práticas modernas de DevOps, como pipelines automatizados de CI/CD.

  • Dimensione facilmente seus aplicativos e "redimensione-os" conforme necessário, pois cada serviço normalmente é elástico.

  • Microsserviços são mais fáceis de construir, testar e manter.

  • Os serviços são organizados e implementados em torno de funções de negócios.

  • Os desenvolvedores podem adotar a tecnologia mais adequada para um serviço específico.

  • Isolamento mais fácil de falhas – Se um microsserviço falhar, outros microsserviços ainda poderão continuar em execução.

deficiência:

  • A arquitetura de microsserviços aumenta a complexidade porque os desenvolvedores devem reduzir a tolerância a falhas, reduzir a latência da rede, lidar com diferentes linguagens de programação e equilibrar a carga em vários serviços.

  • A solução de problemas de microsserviços pode ser complicada e complexa devido à sua natureza distribuída.

  • Aumentar o número de microsserviços em um aplicativo aumenta os esforços de integração e gerenciamento.

  • Lidar com vários bancos de dados

APIs são microsserviços?

Resumindo, não. As próprias APIs não são microsserviços. Mas as APIs estão sendo cada vez mais integradas em arquiteturas de microsserviços como mecanismos de comunicação dentro de aplicações. A funcionalidade de um microsserviço é exposta como um conjunto de endpoints de API, e outros microsserviços invocam essa funcionalidade fazendo chamadas de API para os endpoints correspondentes.

Por que usar contêineres para executar microsserviços?

As plataformas de conteinerização permitem que os desenvolvedores isolem, dimensionem e implantem microsserviços da maneira mais eficiente, independentemente das restrições de infraestrutura, ao mesmo tempo que minimizam a interrupção para os usuários. Considere um cenário em que um único cluster de servidores de balanceamento de carga e roteamento de tráfego é implantado na frente do seu aplicativo. Com um endereço IP público estático publicado no DNS, os clientes podem enviar suas solicitações para esse ponto de entrada estável, que é então encaminhado para o contêiner apropriado. Se esses contêineres forem adicionados ou removidos, basta atualizar o endereço interno para direcionar essas solicitações para o novo endereço IP. Você também pode publicar esses endereços internamente via DNS.

Caso de microsserviço

Os microsserviços aceleram a migração contínua e segura em setores altamente regulamentados

Uma empresa multinacional que opera num setor altamente regulamentado deve atualizar os seus sistemas de acordo com um cronograma prescrito para garantir a conformidade com os padrões e melhores práticas em evolução. O portfólio de aplicativos da empresa processa milhões de transações por meio de seus sistemas todos os dias. Ao longo dos anos, a empresa permaneceu em conformidade com os requisitos do setor, mesmo durante atualizações de código aberto e integrações de plug-ins de segurança de terceiros. Porém, em uma atualização recente, a empresa encontrou algumas dificuldades devido a problemas de exclusão mútua de plugins. A empresa considerou migrar de seu data center para a nuvem pública AWS, mas problemas com plug-ins de segurança levaram a uma mudança para uma arquitetura de microsserviços. Esta solução é mais barata e ajuda a empresa a alcançar rapidamente a conformidade de segurança.

Leia esta história de sucesso de cliente para saber mais sobre a migração de microsserviços.

postagem no blog

Histórias de sucesso e casos de uso

Referências

Recomendações de recursos

Clique aqui para ver o conteúdo da agenda de microsserviços de junho de 2023 e todos os replays do curso gratuitamente.


A única comunidade chinesa oficial do NGINX, toda em  nginx.org.cn

Mais informações técnicas relacionadas ao NGINX, perguntas e respostas interativas, série de cursos e recursos para eventos:  Site oficial da comunidade de código aberto  |  Conta oficial do WeChat |

Os recursos piratas de "Qing Yu Nian 2" foram carregados no npm, fazendo com que o npmmirror suspendesse o serviço unpkg. Zhou Hongyi: Não resta muito tempo para o Google. Sugiro que todos os produtos sejam de código aberto . time.sleep(6) aqui desempenha um papel. Linus é o mais ativo em “comer comida de cachorro”! O novo iPad Pro usa 12 GB de chips de memória, mas afirma ter 8 GB de memória. O People’s Daily Online analisa o carregamento estilo matryoshka do software de escritório: Somente resolvendo ativamente o “conjunto” poderemos ter um futuro . novo paradigma de desenvolvimento para Vue3, sem a necessidade de `ref/reactive `, sem necessidade de `ref.value` MySQL 8.4 LTS Manual chinês lançado: Ajuda você a dominar o novo domínio de gerenciamento de banco de dados Tongyi Qianwen nível GPT-4 modelo principal preço reduzido em 97%, 1 yuan e 2 milhões de tokens
{{o.nome}}
{{m.nome}}

Acho que você gosta

Origin my.oschina.net/u/5246775/blog/11184822
Recomendado
Clasificación