mportação segura de dados e troca de núcleo segura no site de alto tráfego

lá, colegas técnicos,

Suponhamos que temos um site (PHP) com milhões de visitantes por mês e que executamos um índice SolR no site com 4 milhões de documentos hospedados. O Solr está sendo executado em 4 servidores separados, onde um servidor é o mestre e outros 3 servidores são replicado

Lápod ser inserido milhares de documentos no Solr a cada 5 minutos. Além disso, o usuário pode atualizar sua conta, o que também deve desencadear uma atualização mais rápid

Estou procurando uma estratégia segura para reconstruir o índiceveloze esegur sem perder nenhum documento. E ter umsegur estratégia delta / atualização. Pensei em uma estratégia e quero compartilhá-la com especialistas aqui para ouvir sua opinião e se devo seguir essa abordagem ou se eles podem aconselhar algo (totalmente) diferente.

Solr DataImport

Para todas as operações, desejo usar um manipulador de importação de dados. Quero misturar dados e importar delta para um arquivo de configuração como o DataImportHandlerDeltaQueryViaFullImport. Estamos usando um banco de dados MySQL como fonte de dados.

Rebuilding index

Para recriar o índice, tenho o seguinte em mente; criamos um novo núcleo chamado 'reindex' próximo ao núcleo 'ao vivo'. Com o dataimporthandler, reconstruímos completamente todo o conjunto de documentos (4 milhões de documentos), o que leva cerca de uma a duas horas no total. No índice ao vivo, ainda existem todos os minutos algumas atualizações, inserções e exclusõe

Após a reconstrução, que levou cerca de uma a duas horas, o novo índice ainda não está mais atualizado. Para diminuir o atraso, fazemos uma importação 'delta' contra o novo núcleo para confirmar todas as alterações das últimas 1-2 horas. Quando isso for feito, faça uma troca de núcleo. O manipulador de importação 'delta' normal, executado a cada minuto, selecionará esse novo núcle

Commiting updates to live core

Para manter nosso núcleo ativo, executamos a importação delta a cada minuto. Por causa da troca do núcleo, o núcleo do reindex (que agora é o núcleo ativo) será rastreado e mantido atualizado. Eu estou supondo que realmente não deve ser um problema se esse índice atrasar por alguns minutos porque o dataimport.properties também será trocado? A importação delta ultrapassou esses minutos de atraso, mas deve ser possível.

Espero que você entenda minha situação e minha estratégia e possa aconselhar se estou fazendo da maneira certa aos seus olhos. Também gostaria de saber se existem gargalos nos quais não pensei? Estamos executando o Solr versão 1.4.

Alguma pergunta que eu tenho é, e a replicação? Se o servidor principal trocar o núcleo, como as pomadas lidam com isso?

E existem riscos com a perda de documentos ao trocar, et

Desde já, obrigado

questionAnswers(4)

yourAnswerToTheQuestion