Introdução (análise do ponto problemático)
Como arquiteto ou desenvolvedor de uma plataforma de comércio eletrônico, você tem uma relação de amor/ódio com os próximos grandes eventos de vendas? Campanhas como vendas de segundos e por tempo limitado podem gerar muito tráfego e vendas, mas os desafios técnicos por trás delas podem ser uma dor de cabeça:
- Inundação de fluxo instantâneo.No momento em que o evento começa, o tráfego do sistema aumenta dezenas ou até centenas de vezes em relação ao estado normal, e os clusters de recursos fixos tradicionais ficam instantaneamente sobrecarregados, resultando em indisponibilidade do serviço.
- Custos de recursos e inatividade.Se você mantiver um cluster de alto provisionamento durante todo o ano para lidar com os picos, um grande número de recursos de computação ficará ocioso durante as horas inativas do 99%, resultando em um enorme desperdício de custos.
- Risco de sobrevenda do estoque.Em cenários de alta simultaneidade, com várias solicitações para consultar e deduzir o mesmo estoque ao mesmo tempo, é muito fácil fazer “oversell” (vender mais do que o estoque real), o que leva a sérias perdas de capital e reclamações de clientes.
Se você estiver com dificuldades para lidar com picos de tráfego e eliminar completamente o excesso de estoque a um custo menor, este artigo fornecerá uma solução completa sem servidor.
Diagrama e visão geral da arquitetura da solução
O diagrama de arquitetura a seguir mostra claramente a composição central e o fluxo de dados do sistema de pico com base no SAE (Serverless Application Engine, mecanismo de aplicativos sem servidor) do AliCloud.

Visão geral da arquitetura.
A solicitação do usuário passa primeiro peloBalanceamento de carga CLBeGateway de microsserviços MSERealizar a distribuição de tráfego e a autenticação unificada. A lógica comercial principal (por exemplo, segundos, pedidos) é implantada noMecanismo de aplicativos sem servidor SAEAlém disso, o SAE pode expandir a capacidade de forma extremamente rápida em 1 segundo, de acordo com o número de solicitações simultâneas em tempo real, para lidar facilmente com picos de tráfego, e reduzir automaticamente para 0 após o evento para obter o custo ideal.
A solicitação de pico de chave chega e primeiro visita oEdição Redis do banco de dados em nuvemExecuta a dedução pré-inventário, usando as operações atômicas do Redis para garantir a precisão do inventário. Após uma dedução bem-sucedida, uma mensagem de pedido assíncrona é gerada e gravada no arquivoFila de mensagens RocketMQO serviço de último pedido no SAE consome a mensagem e conclui de forma assíncrona o descarte do banco de dados, o que reduz bastante o banco de dados principalRDSA pressão do
Proposta de valor.Essa solução resolve os problemas de custo de recursos e de estabilidade de pico por meio da extrema elasticidade do SAE e elimina fundamentalmente o excesso de estoque por meio do padrão de “dedução atômica Redis + fila de mensagens assíncronas”.
Produtos e componentes principais
| nome do componente | desempenhar um papel | Principais recomendações de configuração/seleção | Por que escolher |
|---|---|---|---|
| Mecanismo de aplicativos sem servidor (SAE) | mecanismo de computação centralO sistema de gerenciamento de aplicativos de microsserviços da Microsoft, que hospeda aplicativos de microsserviços, como lógica de pico, serviços de pedidos e muito mais. | Recomendado para ligarelasticidade de tempo(expandido antes do início do evento) eElasticidade do indicador(Dimensionamento dinâmico baseado em métricas de CPU/concorrência). | Não há necessidade de gerenciar servidores, fornece escalonamento de elasticidade de segundo nível, suporta redução a 0, pagamento por uso e corresponde perfeitamente aos cenários de pico. |
| Edição Redis do banco de dados em nuvem | Camada de cache e centro de dedução de inventário. Armazenar em cache os dados do hotspot, como detalhes do produto; porDECRAguardando comandos atômicos para realizar deduções de estoque para evitar excesso de vendas. | opçãobaseado em memóriaA especificação garante alto desempenho; recomenda-se ligarobjetificaçãoEm caso de perda de dados. | Fornecer desempenho ultra-alto de leitura/gravação e operações de dados atômicos é a chave para resolver o problema do inventário altamente simultâneo. |
| Fila de mensagens RocketMQ | Desacoplamento assíncrono e redução de pico. Conversão de solicitações de pico bem-sucedidas em mensagens de pedido assíncronas para armazenar o tráfego transitório e proteger os bancos de dados downstream. | Sugestão de usomensagem sequencialSequência garantida de processamento de pedidos para o mesmo item. | Alta taxa de transferência e alta confiabilidade, capaz de acumular mensagens em massa para garantir que as solicitações de pico não sejam perdidas e que o sistema como um todo seja mais estável. |
| Banco de dados em nuvem RDS MySQL | Persistência de dados finais. Armazena dados mestre de produtos, informações de pedidos finais, etc. | opçãoEdição de alta disponibilidade(um principal e um em espera) e selecione as especificações com base no tamanho da operação. | Elimine os problemas de operação e manutenção do banco de dados, ofereça garantia de confiabilidade dos dados, com filas de mensagens para obter a consistência máxima. |
| Mecanismo de microsserviços MSE | Gateway de microsserviços. Fornece roteamento, autenticação, limitação de fluxo, fusão e outros recursos, além de ser um ponto de entrada unificado e uma barreira de segurança para o sistema. | Configuração da interface de picolimitação precisa do tráfegoimpedindo que solicitações mal-intencionadas sobrecarreguem os serviços de back-end. | Melhorar a segurança, a estabilidade e a observabilidade do sistema, para que os desenvolvedores possam se concentrar mais na lógica comercial. |
Resumo dos benefícios do programa
- Segundos de resiliência, nunca para baixo.O SAE pode concluir a expansão de instâncias em 1 segundo e realizar facilmente milhões de simultaneidades para garantir que o serviço esteja sempre on-line durante o evento.
- Otimização de custos, pagamento conforme o uso.O serviço é cobrado de acordo com o uso real dos recursos, e a capacidade é automaticamente reduzida após o término da atividade, o que reduz o custo dos recursos em mais de 70% em comparação com a arquitetura tradicional.
- 🛡️ Elimine o excesso de vendas e proteja as perdas de capital.Operação atômica baseada em Redis de dedução de estoque, desde o nível lógico até a solução completa do problema de excesso de vendas, para proteger os interesses das empresas.
- Livre de operações e focado nos negócios.As ofertas de nuvem totalmente gerenciadas liberam as equipes de operações do gerenciamento da infraestrutura para iterar nas funções de negócios mais rapidamente.
Cenários de aplicativos e clientes aplicáveis
- Cena principal.As plataformas de comércio eletrônico têm atividades instantâneas de alta simultaneidade, como segundos, corrida por tempo limitado, lançamento de novos produtos, chuva de pacotes vermelhos e assim por diante.
- Características aplicáveis do cliente.
- A empresa tem altos e baixos significativos e busca a utilização extrema de recursos e a otimização de custos.
- A empresa vinha enfrentando problemas de excesso de vendas de estoque e tinha uma alta demanda por consistência de dados.
- A equipe de operações de desenvolvimento tem mão de obra limitada e deseja minimizar a complexidade das operações de infraestrutura.