Posicionamento de Shard

O serviço de catálogos é responsável pela disposição dos shards. Cada ObjectGrid tem inúmeras partições, sendo que cada uma tem um shard principal e um conjunto opcional de shards de réplica. O serviço de catálogo aloca os shards equilibrando-os para que eles sejam distribuídos uniformemente nos servidores de contêiner disponíveis. Os shards de réplica e primário da mesma partição nunca são colocados no mesmo servidor de contêiner ou no mesmo endereço IP, a menos que a configuração esteja no modo de desenvolvimento.

Se um novo servidor de contêiner iniciar, o eXtreme Scale recuperará os shards a partir dos servidores de contêiner relativamente sobrecarregados para o novo servidor de contêiner vazio. Esse movimento de shards permite escala horizontal.

Efetuando Scaling Out

Efetuar scale out significa que quando servidores de contêiner extras são incluídos em uma grade de dados, o eXtreme Scale tenta mover os primários ou de réplicas existentes do conjunto de servidores de contêiner antigo para o novo conjunto. Este movimento expande a grade de dados para obter vantagem do processador, da rede e de memória dos servidores de contêiner recém-incluídos. O movimento também equilibra a grade de dados e tenta garantir que cada JVM na grade de dados hospede a mesma quantia de dados. À medida que a grade de dados se expande, cada servidor hospeda um subconjunto menor da grade total. O eXtreme Scale assume que os dados são distribuídos igualmente entre as partições. Esta expansão possibilita o scaling out.

Efetuando Scaling In

Efetuar scale in significa que se um JVM falhar, o eXtreme Scale tenta reparar o dano. Se a JVM falha tinha uma réplica, então, o eXtreme Scale substitui a réplica perdida criando uma nova réplica em uma JVM sobrevivente. Se a JVM falha tinha um principal, então o eXtreme Scale localiza a melhor réplica nos sobreviventes e promove a réplica para ser o novo principal. O eXtreme Scale, então, substitui a réplica promovida por uma nova réplica que é criada no servidores restantes. Para manter a escalabilidade, o eXtreme Scale preserva a contagem de réplica para partições à medida que os servidores falham.

Figura 1. Posicionamento de um Conjunto de Mapas do ObjectGrid com uma Política de Implementação de 3 Partições com um Valor minSyncReplicas de 1, um Valor maxSyncReplicas de 1 e um Valor maxAsyncReplicas de 1
Cada uma das três Java virtual machines tem um shard primário e dois shards de réplica. os shards de réplica em cada Java Virtual Machine incluem um shard de réplica síncrono e um shard e réplica assíncrono.