Migração de Solr para Opensearch

May 06 2023
Migração de 100 milhões de documentos de solr para opensearch
Usamos solr para nossos casos de uso de pesquisa/feed/sugestão automática/personalização de comércio eletrônico. Desafios com solr cluster ELK agora vem com licença elástica premium.

Usamos solr para nossos casos de uso de pesquisa/feed/sugestão automática/personalização de comércio eletrônico.

Desafios com cluster solr

  • Gerenciar a infraestrutura solr (zookeeper, JVM, análise GC etc.) é um desafio. Em geral, precisamos de um desenvolvedor dedicado (SRE/SDE-3) para isso.
  • Atualização para uma versão estável mais recente. Menos suporte da comunidade para problemas críticos.

ELK agora vem com licença premium elástica. Então optamos pelo opensearch por ser opensource. É baseado na versão elasticsearch 7.10. Tem licença apache.

Grandes desafios

  • O código existente tinha problemas de design. Fortemente acoplado com solr. Arquitetura de microsserviços e dependência de múltiplos serviços.
  • Grande tamanho de cluster em algumas regiões e lançamentos em todo o país.
  1. Usamos terraform para formação de cluster de opensearch em todas as regiões.
  2. Para o código, usamos o padrão de design de fábrica e o padrão de design do adaptador.
  3. Ingestão paralela de dados em opensearch e solr.
  4. Migração de dados delta opensearch & solr pelo nosso serviço de reindexação.
  5. Lançamento de serviço um por um com suporte para opensearch e solr
  6. Assim que os passos 1 a 5 estiverem prontos. Planejamos o lançamento e o monitoramento nacional do newRelic.

Maior gargalo : foi em torno da escolha do tipo de nó c5 da máquina AWS. Nós consertamos por benchmarking e optamos por ir com c6g.

Resultado

Migramos com sucesso mais de 100 milhões de documentos de solr para opensearch sem tempo de inatividade. A migração envolveu mais de 100 nós no solr e opensearch. Também conseguimos economizar aproximadamente 0,8 milhão de dólares.

Referência

  1. padrão de design de fábrica
  2. Terraforma
  3. Opensearch
  4. sol
  5. Padrão de design do adaptador