Falando sobre o caminho da reconstrução da ordem

prefácio

Recentemente, fui responsável pelo projeto de reconstrução do pedido, desde a concepção da solução técnica até a implementação final, o projeto foi concluído com sucesso. Embora o projeto de refatoração tenha sido feito muitas vezes, cada vez ele está desafiando o limite, e o tempo é curto e a tarefa é pesada, e o progresso metódico é feito. O teste final foi de alta qualidade e foi online sem problemas. Este artigo fica registrado.

fundo

  1. A ordem, o banco de dados e a tabela originais têm uma grande quantidade de dados, que atingiram o gargalo de desempenho e não podem ser expandidos horizontalmente.

  2. Os pedidos estão crescendo rapidamente e a reconstrução é iminente.

Alvo

  1. Subtabela de sub-banco de dados de pedidos, conveniente para expansão horizontal posterior

  2. Transformação do processo de pedido e uma transição suave para o novo processo.

Plano de refatoração

Nota: O chamado esquema de refatoração deve ser baseado em um cenário específico, não existe um esquema unificado, mas a ideia central é a mesma.

Cenário: No cenário de carona online, há um grande número de pedidos, mas a maioria dos pedidos não será cancelada pelo motorista.

Solução: Adicionar tabela de pedidos pré-expedição, sub-banco de dados e sub-tabela da tabela de pedidos pré-expedição, após o driver ser despachado, o pedido entra na tabela pós-expedição (tabela antiga)

Vantagens desta solução: Não afeta o processo de pedido pós-expedição (por exemplo, processo do lado do motorista, processo de cobrança), a pressão é concentrada na tabela de pré-expedição e os dados da tabela pré-expedição não precisam ser guardados por muito tempo (por exemplo, 7 dias de arquivamento). A quantidade de dados na tabela de pedidos pré-despacho é extremamente pequena e a eficiência de consulta e gravação é alta.

img.png
Esquema de subtabela do subbanco de dados:

img.png
esquema de tons de cinza

De acordo com a escala de cinza do tráfego, ela é dividida em 5 etapas, transitando suavemente para o novo processo

primeira etapa segundo estágio três estágios quatro etapas cinco etapas
1/100000 1‰ 10% 50% 100%

Agendar

img.png

Projeto de pesquisa e programa: 4 dias

Mão de obra de desenvolvimento: 4 pessoas e 7 dias úteis

Mão de obra para testes: 6 pessoas e 3 dias úteis

Tempo em tons de cinza: 2 semanas

Nota: Embora o tempo seja curto e as tarefas pesadas, os processos necessários não podem ser ignorados

Benefícios da refatoração

Essa refatoração foi online conforme programado e houve poucos bugs na fase de testes, o que pode ser considerado como tendo superado as expectativas.

  1. Quando os recursos do banco de dados permanecem inalterados, o desempenho da interface do pedido é aprimorado N vezes (N>4).

  2. Após a reconstrução, a interface de pedido RT<50ms e a interface de pedido de serviço básico (serviço dubbo) RT<5ms.

  3. Existem 256 tabelas e 8 bancos de dados para sub-bancos de pedidos e tabelas. Atualmente, ele está em um cluster de banco de dados e suporta expansão horizontal de até 8 clusters de banco de dados.

4) A estrutura do pedido é em camadas, dividida em camada de negócios e camada de dados, e a comunicação interna do pedido é alterada para comunicação RPC.

Acho que você gosta

Origin blog.csdn.net/weixin_38130500/article/details/119847590
Recomendado
Clasificación