詳細検索

Coisas para ter em mente ao usar dupplexing de banco de dados HyperDB no WordPress

Avatar
por maeno
2 min de leitura

Coisas para ter em mente ao usar dupplexing de banco de dados HyperDB no WordPress
Traduzido do 日本語 • Ver original

Ao construir um site comercial com WordPress, é comum separar o servidor de aplicação web do servidor de banco de dados e duplicar o lado do banco de dados. Isso é simplesmente para melhorar o desempenho do serviço ao distribuir a carga no acesso ao banco de dados e, em caso de falha, é possível recuperar o banco de dados principal do banco de dados do nó secundário espelhado, o que é o pior caso para o serviço, "perda de dados".
O WordPress possui um drop-in chamado "HyperDB" que também pode suportar configurações espelhadas de bancos de dados de nós primários e secundários. Com esse uso, as atualizações do banco de dados podem ser agregadas apenas para o banco de dados mestre, e as referências do banco de dados podem ser distribuídas entre mestre e secundário.
(* O método de redundância de banco de dados usando o drop-in "HyperDB" é explicado em detalhes em QuickKnowLedge: WordPress load balancing using MySQL HyperDB + Keepalived , etc.) )

Agora, se seu site WordPress usando HyperDB está estendendo seu próprio processamento de acesso a banco de dados de uma forma que não depende do processamento central do WordPress, você pode enfrentar problemas.
Que tipo de caso ocorre quando você usa a variável global "$wpdb" no sistema de controle do banco de dados do WordPress fora da página do WordPress?

Por exemplo, se você chamar um PHP criado diretamente a partir de um post do WordPress no Ajax, etc., e acessar o banco de dados do WordPress dentro desse PHP. Ao usar a variável global "$wpdb" para acesso ao banco de dados em um programa externo independente de tal grupo de programas WordPress,
[code lang="php" light="true"]require_once('./wp-config.php');[/code] ... E se você incluir o arquivo de configuração como descrito acima, ele não funcionará assim que você ativar o "HyperDB".

Nesse caso, vamos normalizar isso mudando o arquivo incluído do arquivo de configuração para o cabeçalho do blog.
[code lang="php" light="true"]require_once('./wp-blog-header.php');[/code]
Em particular, não houve alteração no desempenho mesmo após a alteração do arquivo de inclusão, então, em conclusão, parece seguro incluir "wp-blog-header.php" ao usar "$wpdb" em um programa externo.

Related Articles