Introdução (análise do ponto problemático)
Como arquiteto ou desenvolvedor de uma plataforma de comércio eletrônico, você fica ansioso com o grande pico de promoções todos os anos? Quando o relógio bate zero, um grande número de usuários aflui instantaneamente, se o seu sistema está enfrentando os seguintes desafios sérios:
- -Pulsos de fluxo, falhas no sistema.O tráfego instantâneo é cem ou até mil vezes maior que o dos dias de semana, os pools de conexão de banco de dados se esgotam e a CPU/IO do servidor sobe para 1001 TP3T, levando diretamente ao congestionamento de páginas e ao tempo de inatividade do serviço.
- -A venda excessiva é inconsistente com os dados.Sob alta simultaneidade, a lógica tradicional de dedução de inventário é muito propensa a problemas de simultaneidade, resultando em um inventário negativo (excesso de vendas), o que prejudica seriamente a reputação da empresa e a experiência do usuário.
- -Bloqueio de sincronização e resposta lenta.A solicitação de pedido do usuário precisa ser sincronizada para concluir a verificação do inventário, a criação do pedido, a inicialização do pagamento e outras operações demoradas. Qualquer um dos bloqueios fará com que os usuários aguardem o tempo limite e a taxa de rotatividade aumente.
Se estiver tendo dificuldades comComo lidar com segundos massivos de solicitações simultâneas de forma suave, confiável e eficienteE com problemas, então a solução assíncrona de redução de picos da Tencent Cloud baseada na fila de mensagens CKafka fornecerá a você uma prática recomendada completa e dimensionável.
Diagrama e visão geral da arquitetura da solução
O núcleo desse programa é“Redução de picos em camadas e desacoplamento assíncrono”.. Separe a solicitação de pedido instantânea do usuário do complexo processamento de negócios no back-end e suavize os pulsos de tráfego usando a fila de mensagens CKafka como um poderoso pool de buffer para garantir a estabilidade do sistema principal.
Diagrama de arquitetura.

Visão geral do fluxo de trabalho.
- Solicitar acesso.As solicitações de pico do usuário passam primeiro pelo link de aceleração global e são distribuídas pelo balanceamento de carga do CLB para vários servidores de negócios front-end.
- Pré-calibração.O servidor front-end (CVM/EKS) executa uma lógica leve, como elegibilidade do usuário, validação de parâmetros e consulta rápida de saldos de estoque via Redis. Depois que a validação é aprovada, as informações do pedido são usadas como um corpo de mensagemGravação imediata no CKafkaE responda rapidamente aos usuários “na fila”.
- Cortando os picos e preenchendo os vales.Os clusters do CKafka assumem o controle de todo o tráfego transitório com seus recursos de alta taxa de transferência e persistência, permitindo o corte perfeito do tráfego.
- Consumo assíncrono.A função de nuvem downstream SCF ou o microsserviço elástico TEM atua como um consumidor, extraindo mensagens do CKafka em uma taxa controlada e executando sem problemas as operações de consistência final, como dedução de estoque e retirada de pedidos.
- Persistência de dados.Após o processamento, os resultados são gravados no banco de dados na nuvem (MySQL/CynosDB) e o estado do cache no Redis é atualizado.
Produtos e componentes principais
| montagens | desempenhar um papel | Principais recomendações de configuração/seleção | Por que escolher |
|---|---|---|---|
| Filas de mensagens CKafka | buffer do núcleo do sistemaassumindo o papel fundamental de redução de picos e desacoplamento. | Opções sugeridasespecificação de alto nívelO número de partições deve ser definido como maior do que o número de consumidores para aumentar o consumo simultâneo. | Com taxa de transferência e escalabilidade extremamente altas, compatível com o ecossistema Kafka, integração perfeita de vários tipos de ferramentas de big data, serviços gerenciados sem manutenção. |
| Servidor de nuvem CVM / Elastic Container Service EKS | Processamento de lógica comercial de front-endque é responsável pela validação de solicitações, geração de tokens e produção de mensagens. | adoçãofaturamento volumétricoe emparelhado comGrupo Elastic Stretch (AS)Ele aumenta e diminui automaticamente de acordo com a pressão da CPU. | Fornece potência de computação estável e confiável, e o dimensionamento elástico garante que os recursos sejam ajustados automaticamente antes e depois do pico, resultando em economias de custo significativas. |
| Banco de dados em nuvem Redis | Cache de dados quentesarmazenamento de inventário de segundos, listas negras de usuários, limites de frequência, etc. | opçãobaseado em memóriaespecificações.Habilitando a persistênciaUse scripts Lua para garantir a dedução atômica do inventário. | A operação de memória de thread único com desempenho muito alto (10W+ QPS) é uma ótima ferramenta para lidar com leituras e gravações altamente simultâneas. |
| Função de nuvem SCF | consumidor de tarefas assíncronasextrai mensagens do CKafka e lida com a lógica de ordenação principal. | razoávelexecuções simultâneaseNúmero de mensagens processadas em lotepara evitar sobrecarregar o banco de dados downstream. | orientado a eventosCom a arquitetura sem servidor, ele é dimensionado automaticamente para cima e para baixo de acordo com o volume de mensagens acumuladas, realizando um verdadeiro pagamento conforme o uso e sem manutenção. |
| Banco de dados em nuvem TencentDB para MySQL/TDSQL-C | Armazenamento de dados finaisarmazenamento persistente de pedidos, produtos e outras informações. | adoçãoEdição de alta disponibilidadeTanto queEdição Enterprise com três nósque garante a consistência dos dados; recomenda-se usarseparação entre leitura e gravaçãoArquitetura. | Fornecendo serviços de banco de dados altamente disponíveis e de alto desempenho, o TDSQL-C (CynosDB) é especialmente adequado para cenários de gravação simultânea em massa com excelente relação preço/desempenho. |
| Balanceamento de carga CLB | ponto único de entrada para o tráfegopermitindo a distribuição do tráfego e a alta disponibilidade. | opçãoVersão de alto desempenhoO sistema de gerenciamento de tráfego, que suporta conexões simultâneas massivas. | Elimine pontos únicos de falha e garanta alta disponibilidade na camada de acesso. |
| Firewall de aplicativo da Web WAF | guarda de segurançaA tecnologia de segurança da informação é uma ferramenta de defesa contra ataques de CC, furto malicioso e outros comportamentos. | configurarProteção precisa de CCregras everificação homem-computadorpolíticas, carregadas previamente para filtrar o tráfego mal-intencionado. | Intercepta a grande maioria dos ataques antes que o tráfego entre no sistema comercial, protegendo a imparcialidade da campanha e a segurança dos negócios. |
Resumo dos benefícios do programa
- A melhor experiência do usuário.Resposta rápida às solicitações do usuário (milissegundos), sem necessidade de esperar por muito tempo, sem atrasos no sistema e com um processo de pedido tranquilo.
- ? ️ Alta disponibilidade e estabilidade do sistema.O sistema de back-end é desacoplado dos picos de tráfego, a pressão do banco de dados e do serviço é sempre suave, evitando completamente o tempo de inatividade da avalanche devido à sobrecarga.
- ? Dimensionamento flexível para otimização de custos.Todos os componentes são elasticamente dimensionáveis, eliminando a necessidade de adquirir grandes quantidades de recursos ociosos para o tráfego de pico e reduzindo significativamente os custos de O&M de TI.
- ? Consistência final dos dados.Com enfileiramento de mensagens e lógica de consumo confiável, ele garante que os dados para dedução de estoque e geração de pedidos sejam consistentes em última instância sob alta simultaneidade, eliminando o excesso de vendas.
- ? ️ Arquitetura desacoplada, flexível e dimensionável.As responsabilidades de cada módulo são claras, e a expansão futura de novas funções (como dedução de pontos, notificação por SMS) só precisa adicionar novos consumidores, sem alterar o processo principal.
Cenários de aplicativos e clientes aplicáveis
- Cena típica.As plataformas de comércio eletrônico 618, 11 duplo, 12 duplo e outras grandes atividades de pico de promoção; corrida de lançamento de novos produtos; locais populares do sistema de bilheteria para adquirir ingressos.
- Clientes aplicáveis.
- Todas as empresas da Internet que enfrentam inundações de tráfego cíclicas ou previsíveis.
- Com um PV médio diário de mais de um milhão, a empresa está crescendo rapidamente e precisa de uma plataforma de comércio eletrônico com uma arquitetura altamente resiliente.
- Equipe técnica que deseja migrar de um sistema de pico autoconstruído e de difícil manutenção para uma arquitetura nativa da nuvem totalmente hospedada e altamente confiável.