Atualizando um cluster mongo

5

Eu estou olhando para adotar um cluster de Mongo e estou fazendo pesquisa. Esperamos ter um cluster que possa ser dimensionado de 10 mil atualizações por segundo para 100 mil atualizações por segundo, com muito tráfego pesado de gravação.

A questão principal é: se quiséssemos mudar para uma versão mais recente, isso é possível sem tempo de inatividade?

Será que vamos atualizar um fragmento / réplica de cada vez e deixá-lo voltar ao grupo e esperar que ele seja compatível e não elimine os dados?

Como bônus, o que é uma estimativa de cluster em atualizações de 10k por segundo? 100k?

Eu analisei o link , mas não consegui encontrar um procedimento de atualização.

    
por EnabrenTane 13.01.2012 / 05:50

1 resposta

3

Você precisa verificar as notas da versão de cada versão, mas as instruções de atualização para a versão 2.0 estão aqui:

link

Os dois últimos marcadores abordam especificamente sua pergunta:

  • To upgrade a replica set. Upgrade the secondaries first one at a time, then stepDown the primary and upgrade the primary. Using the stepDown command is better than simply shutting it down since the failover will happen quicker. To avoid losing the last few updates on failover you can temporarily halt your application (failover should take less than 10 seconds) or change your application code to confirm that each update reaches multiple servers. Note, after upgrading to 2.0 you can use the shutdown command to shutdown the primary without losing any safe updates.

  • To upgrade a sharded cluster. Upgrade config servers one at a time, in any order. Since config servers use two phase commit, shard configuration metadata updates will halt until all are up and running. mongos routers can be upgraded in any order.

O tempo de inatividade é mínimo, levando apenas o tempo para o Replica Set confirmar que o stepDown ocorreu e que a eleição / promoção ocorrerá.

    
por 13.01.2012 / 18:30