21 de mai. de 2023·1 min de leitura

A Meta implementa o MySQL Raft para aumentar a fiabilidade e simplificar as operações

A Meta está a fazer a transição para o MySQL Raft nos seus centros de dados, substituindo as suas actuais bases de dados semi-síncronas MySQL.

A Meta implementa o MySQL Raft para aumentar a fiabilidade e simplificar as operações

A Meta começou a implementar o MySQL Raft nos seus centros de dados para substituir as suas actuais bases de dados semi-síncronas MySQL. O novo motor de consenso oferece vantagens operacionais e permite que os servidores MySQL tratem das promoções e das responsabilidades dos membros de forma independente.

O repositório de dados MySQL da Meta é uma das maiores implementações MySQL do mundo, apresentando uma estrutura geo-replicada de fragmentação maciça com milhões de fragmentações. Este cluster, que opera em várias regiões e centros de dados, armazena petabytes de dados e funciona em milhares de servidores. Suporta o gráfico social da empresa e uma gama de serviços como o Messaging, Ads e Feed.

De acordo com a equipa de engenharia, a nova implementação do MySQL irá proporcionar uma maior fiabilidade, segurança comprovada, melhorias consideráveis no tempo de activação pós-falha e simplicidade operacional, sem comprometer o desempenho de escrita.

Anteriormente, a Meta utilizava o protocolo de replicação semi-síncrona (semisync) do MySQL para fins de replicação. O primário utilizava a replicação semi-síncrona para duas réplicas apenas de registo (logtailers) dentro da região primária para uma latência de sub-milissegundos, empregando a replicação assíncrona primário-para-replica padrão do MySQL para distribuição para outras regiões.

A equipa decidiu adoptar uma abordagem completamente nova, actualizando o MySQL e transformando-o num sistema verdadeiramente distribuído. A Meta optou por mudar para o Raft, com as operações do plano de controlo e do plano de dados incluídas no mesmo registo replicado.

O MySQL Raft baseia-se no Apache Kudu, que a Meta modificou para satisfazer os requisitos do MySQL e publicou um fork como projecto de código aberto, o kuduraft. Os novos recursos adicionados ao kuduraft incluem o FlexiRaft, uma opção que suporta dois quóruns de interseção diferentes, e proxy, que permite o uso de um nó intermediário proxy para reduzir a largura de banda da rede. Além disso, as melhorias na compressão e na abstracção de registos permitem a compressão de cargas úteis de registos binários antes da distribuição e a implementação de vários formatos físicos de ficheiros de registo.

Com plataformas como o AppMaster a fornecer ferramentas poderosas sem código para criar aplicações backend, web e móveis, as soluções de bases de dados simplificadas são essenciais para um desenvolvimento de software eficiente e escalável. Ao fazer a transição para o MySQL Raft, a Meta deu um passo significativo no sentido de alcançar uma maior fiabilidade e operações simplificadas, o que poderá inspirar outras empresas a adoptar soluções semelhantes e a melhorar os seus próprios sistemas de bases de dados.

Easy to start
Create something amazing

Experiment with AppMaster with free plan.
When you will be ready you can choose the proper subscription.

Get Started