|
|
Publicado em 25/12/2014 16:18:52
|
|
|
|

Contexto e necessidades
Site do Centro de Atendimento ao Cliente Ferroviário da China (www.1230**) é um dos maiores sistemas de negociação em tempo real do mundo, comparável ao Amazon.com, e o site sofre grande pressão durante os feriados, especialmente durante o Festival da Primavera. Segundo estatísticas, durante o auge do Festival da Primavera no início de 2012, 20 milhões de pessoas visitavam o site todos os dias, com um máximo de 1,4 bilhão de visitas diárias. Um grande número de acessos simultâneos à rede fez com que o 12306 ficasse quase paralisado. O Instituto de Tecnologia Computacional Eletrônica da Academia Chinesa de Ciências Ferroviárias, como contratado do sistema de bilhetagem pela Internet 12306, precisa urgentemente encontrar uma forma de resolver o problema.
Resolução bem-sucedida: mais de 75 vezes mais rápida
Desde março de 2012, a Corporação Ferroviária (anteriormente Ministério das Ferrovias) começou a investigar e renovar a 12306. Em junho de 2012, a plataforma de computação distribuída em memória Pivotal GemFire (Computação Distribuída em Memória) foi selecionada para transformar a 12306, fornecida por Wang Mingzhe, chefe da equipe de projeto da Academia de Ciências do Ferro, e pela IISI Information Technology Co., Ltd., sob a liderança de Zhu Jiansheng, diretor da Academia de Ciências Ferroviárias.A primeira fase transformará primeiro o principal gargalo do 12306 - o sistema restante de consulta de tickets。 Em setembro, a transformação do código foi concluída e o sistema foi lançado. No Dia Nacional de 2012, durante o período de pico das reservas online, é possível perceber significativamente que é possível fazer login no 12306, embora ainda seja difícil reservar ingressos, mas os restantes são muito rápidos. Em outubro de 2012,A segunda fase é transformar o sistema de consulta de pedidos com o GemFire (clientes consultam seus próprios registros de pedidos)。 Durante o Festival da Primavera de 2013, é o auge das reservas online, e você pode perceber significativamente que pode fazer login no 12306, embora ainda seja difícil reservar ingressos, mas a questão dos ingressos restantes é muito rápida, assim como a questão da sua própria reserva e pedido também é muito rápida.
De acordo com o registro de dados de operação do sistema, após a transformação técnica,No uso de apenas 10 servidores X86, as capacidades remanescentes de cálculo de tickets e consultas de dezenas de pequenos computadores foram realizadas, e o tempo máximo de uma única consulta foi reduzido de cerca de 15 segundos para menos de 0,2 segundos, tempo que foi reduzido em mais de 75 vezes。 No caso de concorrência extremamente alta durante o Festival da Primavera de 2012, o sistema ficou quase paralisado. Após a transformação,Ele suporta dezenas de milhares de consultas simultâneas por segundo, atingindo um throughput de 26.000 consultas por segundo durante os períodos de pico, a eficiência de todo o sistema é significativamente melhorada. Como mostrado na imagem acima.
No modo de operação do sistema antes da transformação, o sistema de consulta de ordens só pode suportar uma taxa de transferência de 300-400 consultas por segundo, e consultas concorrentes de alto tráfego só podem ser realizadas por meio da divisão do banco de dados. Após a transformação, a taxa de transferência pode chegar a dezenas de milhares de consultas por segundo, e a velocidade de consulta pode ser garantida em cerca de 20 milissegundos.
A nova arquitetura tecnológica pode:Elasticidade da escalonamento dinâmico sob demandaQuando a quantidade de concorrência aumenta, você também pode aumentar dinamicamente o servidor X86 para manter um tempo de resposta de nível de milissegundos.
Procurando isso em um sonho: a revolução tecnológica abrange três gerações em um só passo
O 12306 pode alcançar efeitos tão devastadores, é impossível confiar em pequenos reparos técnicos, e deve haver uma nova ideia que possa trazer vantagem para a melhoria do desempenho. 12306 descobriu que a plataforma de dados distribuídos em memória GemFire é uma dessas tecnologias.
Justificativa técnica da plataforma de dados distribuídos em memória GemFireComo mostrado na figura acima: Por meio da tecnologia de virtualização da plataforma de computação em nuvem, a memória de vários servidores X86 é centralizada para formar um pool de recursos de memória de até dezenas de terabytes, e todos os dados são carregados na memória para cálculos em memória. O próprio processo de computação não precisa ler e gravar no disco, mas apenas grava dados periodicamente no disco de forma síncrona ou assíncrona. O GemFire armazena múltiplas cópias de dados em um cluster distribuído e, se alguma máquina falhar, há backups em outras máquinas, então geralmente não há necessidade de se preocupar com perda de dados, e há dados de disco como backup. O GemFire suporta a persistência de dados em memória em diversos bancos de dados relacionais tradicionais, bibliotecas Hadoop e outros sistemas de arquivos.
Como todos sabemos, o gargalo da arquitetura computacional atual é o armazenamento, a velocidade do processador dobra segundo a Lei de Moore, e a velocidade do armazenamento em disco cresce muito lentamente, resultando em uma enorme diferença de até 100.000 vezes (como mostrado na figura acima). Isso facilita a compreensão de por que o GemFire pode melhorar muito o desempenho do sistema.
De acordo com a relação entre computação e armazenamento, podemos dividir a arquitetura computacional em quatro gerações:
A primeira geração, um sistema baseado em disco único: Os dados precisam ser lidos do disco durante os cálculos. Computadores pequenos e mainframes estão entre os líderes, alcançando o desempenho máximo de um único sistema.
A segunda geração, um sistema de clustering distribuído baseado em discos: Durante o processo de cálculo, os dados precisam ser lidos do disco, mas os dados são distribuídos entre diferentes discos de servidor por meio de um sistema de distribuição para melhorar o poder de processamento de todo o sistema. Atualmente, muitas grandes empresas de Internet e comércio eletrônico utilizam sistemas de clustering distribuídos baseados em servidores X86, dependendo de uma implantação massiva de servidores X86 para resolver o problema da alta concorrência de tráfego.
A terceira geração, um sistema baseado em memória única: Coloca todo o banco de dados na memória, e o processo de cálculo não exige ler dados do disco. O desempenho de todo o sistema depende do desempenho de um único sistema. Bancos de dados tradicionais em memória são esses sistemas, que podem resolver bem o problema da velocidade de acesso para aplicações em nível empresarial, mas não podem fazer nada sobre o problema de escalabilidade de dados massivos ou acesso concorrente massivo.
A quarta geração é um sistema de clustering distribuído baseado em memória: O GemFire é um desses sistemas, a computação paralela é uma de suas principais tecnologias, então pode escalar o desempenho linearmente com base na computação em memória, aumentando a escala da implantação de servidores.
O 12306 adotou anteriormente a arquitetura de minicomputadores Unix e usou a tecnologia GemFire para transformá-la em uma arquitetura de cluster de servidores Linux/X86, o que significa que abrange três gerações. De computadores pequenos a clusters de servidores X86 com grande memória, não só melhora o desempenho em uma ordem de magnitude, como também custa muito menos.
O GemFire faz parte da plataforma de big data PaaS de nível corporativo da Pivotal. A plataforma PaaS de big data em nível empresarial da Pivotal possui três níveis principais: Cloud Fabric, Camada de Infraestrutura de Big Data e Application Fabric. O GemFire pertence à camada de infraestrutura de big data e, além disso, o banco de dados Greenplum também pertence a essa camada; A tecnologia da camada de infraestrutura de nuvem é Cloud Foundry; As tecnologias para a camada de infraestrutura de desenvolvimento de aplicações são Spring Framework e RabbitMQ, entre outras.
Sobre a transformação da introdução da tecnologia GemFire, Zhu Jiansheng, vice-diretor do Instituto de Tecnologia Eletrônica de Computação da Academia Chinesa de Ciências Ferroviárias, disse: "Por meio da transformação tecnológica, resolvemos o problema da concorrência de alto volume de tráfego que nos atormenta há muito tempo, de modo que o povo de todo o país não reclama mais por razões técnicas, e finalmente estamos aliviados." A tecnologia de dados em memória distribuída Pivotal GemFire em cluster desempenhou um papel fundamental em toda a transformação tecnológica. Ao mesmo tempo, graças aos esforços da Pivotal e de sua equipe de projeto para garantir o funcionamento fluido do sistema antigo e a migração tranquila do sistema antigo para o novo durante o processo de desenvolvimento técnico e transformação, o novo sistema foi rapidamente lançado. ”
|
Anterior:12306 Um grande número de senhas de usuário foi vazado, e o endereço de download do banco de dados 12306 foi vazadoPróximo:Uma grande quantidade de dados de usuários 12306 viralizou na Internet, incluindo números de conta de usuário, senhas em texto simples, carteiras de identidade, e-mails, etc
|