Simple Science

Ciência de ponta explicada de forma simples

# Informática # Computação distribuída, paralela e em cluster

TeaStore: Adaptando com Microserviços para o Sucesso

Descubra como a TeaStore usa microserviços pra se adaptar e prosperar em condições que mudam.

Simon Bliudze, Giuseppe De Palma, Saverio Giallorenzo, Ivan Lanese, Gianluigi Zavattaro, Brice Arleon Zemtsop Ndadji

― 7 min ler


TeaStore: Microserviços TeaStore: Microserviços em Ação rapidinho aos desafios. Saiba como a TeaStore se adapta
Índice

No mundo de tecnologia de hoje, a gente tem todas essas ferramentas legais que ajudam as empresas a gerenciar seus serviços na nuvem. Um exemplo massa disso é o TeaStore, uma estrutura que usa microsserviços pra fazer as coisas acontecerem. Mas o que é um microsserviço? Pensa como um monte de partes pequenas e independentes que trabalham juntas, tipo uma equipe de super-heróis. Cada super-herói tem um poder específico que ajuda a enfrentar desafios diferentes.

Então, bora mergulhar no mundo do TeaStore e ver como ele se adapta a várias situações enquanto mantém tudo funcionando direitinho.

O que é o TeaStore?

TeaStore é um modelo prático que mostra como pequenos serviços podem se juntar pra criar uma aplicação maior. Ele tem cinco serviços principais:

  1. WebUI: Essa é a parte amigável que os usuários interagem.
  2. Auth: Esse serviço verifica se os usuários são quem dizem que são.
  3. Persistence: É aqui que todos os dados importantes são guardados com segurança, como um cofre super seguro.
  4. Image Provider: Esse serviço é responsável por mostrar imagens dos produtos.
  5. Recommender: Esse sugere produtos com base no que outras pessoas compraram ou no que os usuários estão olhando.

TeaStore é um ótimo exemplo no universo dos microsserviços. Mas, o design original não oferecia flexibilidade suficiente pra lidar com várias situações e eventos inesperados que podem aparecer na vida real.

Tornando o TeaStore Adaptável

Pra resolver essas limitações, o TeaStore passou por uma repaginada pra ficar mais adaptável. Essa nova versão traz a ideia de serviços obrigatórios e opcionais. Pensa como um buffet onde você precisa ter alguns pratos (serviços obrigatórios) pra montar seu prato, enquanto outros (serviços opcionais) podem ser adicionados com base no seu gosto pessoal.

Serviços Obrigatórios e Opcionais

Os serviços obrigatórios, que são os WebUI, Image Provider e Persistence, são a linha de vida do sistema. Sem eles, a coisa toda não vai funcionar. Mas, serviços opcionais como o Recommender podem ser adicionados quando necessário. Se não tiver, sem estresse! Os usuários ainda podem navegar pelos produtos como convidados anônimos.

Serviços Externos

Além disso, alguns serviços podem ser gerenciados por provedores externos. Imagina pedir uma pizza do seu restaurante favorito em vez de fazer você mesmo. É assim que o serviço externo funciona. Por exemplo, um provedor externo pode cuidar dos logins dos usuários através do Single Sign-On (SSO), facilitando a vida dos usuários que podem simplesmente entrar com suas contas de lugares como o Google.

Serviços Locais

Agora, às vezes você pode se encontrar em uma situação onde os serviços externos estão temporariamente indisponíveis. Não se preocupe! Com o TeaStore adaptável, existem serviços locais prontos pra entrar em ação. Esses serviços locais podem fornecer funcionalidades básicas até que os serviços externos voltem a funcionar. É como ter um plano B pro seu restaurante favorito-se fechar, você sempre pode fazer algo em casa!

Diferentes Níveis de Configuração

Pra manter tudo funcionando direitinho, o TeaStore adaptável tem três níveis de configuração diferentes:

  1. Configuração Básica: Esse é o setup básico onde só os serviços obrigatórios operam. É tipo alimentar um bebê só com uma colher-mínimo, mas necessário.

  2. Básico + Recommender em Modo Baixo Poder: Aqui, você adiciona o serviço Recommender, mas roda em modo de baixo consumo, o que significa que vai economizar energia e recursos enquanto ainda fornece algumas sugestões.

  3. Configuração Completa: Essa é a configuração top com todos os serviços funcionando a todo vapor. Os provedores externos estão em ação, e tudo funciona como deveria. Pensa como um buffet onde tudo tá disponível e pronto pra ser devorado.

A Mágica da Adaptação

A beleza do TeaStore adaptável é a sua capacidade de mudar em resposta a diferentes cenários. Vamos olhar algumas situações onde as coisas podem não sair como planejado.

Cenário 1: Indisponibilidade do Banco de Dados

Imagina que o banco de dados decide tirar uma soneca e todas as consultas começam a dar timeout. A WebUI faz uma dancinha pra se adaptar e mostra uma mensagem amigável de manutenção em vez de simplesmente travar. Assim que o banco de dados volta, a WebUI retoma as operações normais. Que educado!

Cenário 2: Ciberataque aos Serviços Externos

Se um ciberataque rolar, os serviços externos podem ter que fechar por motivos de segurança. Nessa, o sistema rapidamente muda pros seus serviços locais pra manter tudo funcionando num nível básico. A WebUI desativa elegantemente novos logins e cadastros até que tudo esteja de volta ao normal. Fala sério, que calma sob pressão!

Cenário 3: Falta de Energia do Provedor de Nuvem

Se o provedor de nuvem passar por uma queda de energia, os serviços podem sair do ar. Nesse caso, o sistema muda pra sua configuração básica pra manter as funcionalidades essenciais operacionais. Assim que os serviços externos estiverem online novamente, ele volta pra configuração completa mais rápido do que você pode dizer "computação em nuvem."

Cenário 4: Aumento Repentino de Tráfego

E se um monte de usuários invadir a WebUI no mesmo dia, tipo uma Black Friday? O sistema precisa se adaptar rápido pra lidar com a carga extra. Com um escalonamento inteligente, ele pode acompanhar a demanda.

Se o serviço Recommender começar a sofrer com a pressão, ele pode mudar pra um modo de baixo consumo que fornece recomendações com base na popularidade básica. É como uma pessoa que tá sem fôlego; às vezes, você precisa de uma pausa!

Cenário 5: Aumento de Tráfego Malicioso

Se um aumento repentino de tráfego acontecer por causa de um ataque DDoS, o sistema coloca sua armadura. Ele pode limitar o acesso ao serviço Auth, mudar o Recommender pra modo de baixo poder e ativar seus serviços de cache local pra reduzir a dependência dos serviços externos.

Cenário 6: Mudanças nos Requisitos de DevOps

O TeaStore adaptável também pode responder a pedidos dos desenvolvedores. Se eles quiserem mudar características, como adicionar um novo método de pagamento ou atualizar o algoritmo do Recommender, o sistema pode mudar de configurações rapidamente. É como um camaleão mudando de cor-pronto pra qualquer coisa!

Conclusão

O TeaStore adaptável é um exemplo fascinante de como a tecnologia pode ser flexível pra atender demandas variadas. Tendo serviços obrigatórios e opcionais e estando pronto pra se ajustar a diferentes cenários, ele mantém tudo funcionando direitinho.

Assim como seu buffet favorito com várias opções, você pode personalizar a configuração pra se adequar às suas necessidades enquanto mantém a experiência agradável pra todo mundo envolvido. Então, seja você um usuário casual ou um dono de negócio, o TeaStore adaptável tá com você nesse mundo tecnológico que tá sempre mudando.

Fonte original

Título: Adaptable TeaStore

Resumo: Adaptability is a fundamental requirement for modern Cloud software architectures to ensure robust performance in the face of diverse known and unforeseen events inherent to distributed systems. State-of-the-art Cloud systems frequently adopt microservices or serverless architectures. Among these, TeaStore is a recognised microservice reference architecture that offers a benchmarking framework for modelling and resource management techniques. However, TeaStore's original configuration lacks the flexibility necessary to address the varied scenarios encountered in real-world applications. To overcome this limitation, we propose an enhanced variant of TeaStore that distinguishes between mandatory and optional services while incorporating third-party service integration. Core services such as WebUI, Image Provider, and Persistence are designated as mandatory to maintain essential functionality, whereas optional services, such as Recommender and Auth, extend the architecture's feature set. We outline the design and configuration possibilities of this adaptable TeaStore variant, aimed at enabling a broader spectrum of configurability and operational resilience.

Autores: Simon Bliudze, Giuseppe De Palma, Saverio Giallorenzo, Ivan Lanese, Gianluigi Zavattaro, Brice Arleon Zemtsop Ndadji

Última atualização: Dec 20, 2024

Idioma: English

Fonte URL: https://arxiv.org/abs/2412.16060

Fonte PDF: https://arxiv.org/pdf/2412.16060

Licença: https://creativecommons.org/licenses/by/4.0/

Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.

Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.

Artigos semelhantes