Com a replicação assíncrona multimestre, um conjunto de domínios de serviço de catálogo é vinculado. Os domínios de serviço de catálogo conectados são então sincronizado usando a replicação sobre os links. É possível definir
os links usando arquivos de propriedades, no tempo de execução com programas Java Management
Extensions (JMX) ou com utilitários de linha de comandos. O conjunto
de links atuais para um domínio é armazenado no serviço de catálogo. É
possível incluir e remover links sem reiniciar o domínio de serviço de catálogo
que hospeda a grade de dados.
Antes de Iniciar
- Consulte Planejando Diversas Topologias do Datacenter para obter mais informações sobre as topologias de replicação multimestre e considerações de design.
É possível configurar links entre domínios do serviço de catálogo com o arquivo de propriedades do servidor para formar a topologia durante a inicialização do servidor. Também é possível configurar links no tempo de execução.
- Se estiver usando os carregadores na sua topologia de replicação multimestre, você deve planejar como manterá os dados precisos entre os datacenters. As abordagens que podem ser usadas variam dependendo da topologia que você está usando. Para
obter informações adicionais, consulte
Considerações Sobre o Carregador em uma Topologia Multimestre.
Procedimento
- Defina links no arquivo de propriedades para o servidor de catálogos
de cada domínio de serviço de catálogo na topologia, para fins de autoinicialização.
Consulte Arquivo de Propriedades do Servidor para obter mais informações sobre como definir esse arquivo para o servidor de catálogos.
Importante: Os nomes da propriedade fazem distinção entre maiúsculas e minúsculas.
- Nome do Domínio Local
- Especifique o nome do domínio de serviço de catálogo para o servidor de catálogos atual, como domínio A:
domainName=A
- Uma lista opcional de nomes de domínio externo:
Especifique os nomes dos domínios de serviço de catálogo ao qual você deseja vincular na topologia de replicação multimestre, como o domínio B:
foreignDomains=B
- Uma lista opcional de terminais para os nomes de domínio externo:
- Especifica as informações de conexão para os servidores de catálogos dos domínios externos, como domínio B:
B.endPoints=hostB1:2809, hostB2:2809
Se um domínio externo tiver diversos servidores de catálogo, especifique todos eles.
- Use o utilitário xscmd ou a programação JMX
para incluir ou remover links no tempo de execução.
Os links para um domínio são mantidos
no serviço de catálogo na memória replicada. Este conjunto de links
pode ser alterado a qualquer momento pelo administrador sem exigir
o reinício deste domínio ou de qualquer outro domínio. O utilitário
xscmd inclui várias opções para trabalhar com links.
O utilitário xscmd se conecta a um serviço de catálogo e, assim, a um domínio de serviço de catálogo único.
Portanto, o utilitário xscmd pode ser usado para criar e destruir links entre o domínio ao qual ele se conecta e qualquer outro domínio.
Use a linha de comandos para criar um link, por exemplo:
xscmd –c establishLink -cep host:2809 -fd dname -fe fdHostA:2809,fdHostB:2809
O comando estabelece um novo link entre o domínio local e o domínio externo denominado dname. O serviço de catálogo dname está em execução no fdHostA:2809 e no fdHostB:2809.
O domínio de serviço de catálogo local possui um host e uma porta do listener de
serviço de catálogo igual a host:2809. Especifique todos os terminais de serviço de catálogo a partir do domínio externo para que a conectividade de tolerância a falhas com o domínio seja possível. Não use um par host:port único para o serviço de catálogo do domínio do serviço de catálogo esterno.
É
possível usar qualquer JVM do serviço de catálogo local com xscmd e
usar a opção -cep. Se o servidor de catálogos for hospedado em um gerenciador de implementação do WebSphere Application Server, a porta geralmente será 9809.
As portas especificadas para o domínio externo não são portas JMX. Elas são as portas usuais
que você usaria para clientes do eXtreme Scale.
Depois de o comando
para incluir um novo link ser emitido, o serviço de catálogo instrui todos
os contêineres sob seu gerenciamento a começar a replicar para o domínio
externo. Um link não é necessário em ambos os lados. Ele é necessário apenas
para criar um link em um lado.
Use a linha de comandos para remover um
link, por exemplo:
xscmd –c dismissLink -cep host:2809 -fd dname
O
comando conecta ao serviço de catálogo para um domínio e o instrui
a parar de replicar para um domínio específico. Um link precisa ser indeferido
apenas de um lado.
Link entre Dois Domínios de Serviço de Catálogo
Suponha que você queira definir uma configuração com dois domínios envolvendo os domínios A e B do serviço de catálogo.
Figura 1. Link Entre Domínios de Serviço de Catálogo
Aqui é apresentado o arquivo de propriedades do servidor para o servidor de catálogos no domínio A:
domainName=A
foreignDomains=B
B.endPoints=hostB1:2809, hostB2:2809
Aqui é apresentado
o arquivo de propriedades do servidor para o servidor de catálogos no domínio B. Observe
a semelhança entre os dois arquivos de propriedades.
domainName=B
foreignDomains=A
A.endPoints=hostA1:2809,hostA2:2809
Depois que os dois domínios forem iniciados, quaisquer grades de dados com as seguintes características são replicadas entre os domínios.
- Ter um serviço de catálogo privado com um nome de domínio exclusivo
- Ter o mesmo nome de grade de dados que outras grades no domínio
- Ter o mesmo número de partições de outras grades de dados no domínio
- Ser uma grade de dados FIXED_PARTITION (grades de dados PER_CONTAINER não podem ser replicadas)
- Ter o mesmo número de partições (pode o não ter o mesmo número
e tipos de réplicas)
- Ter os mesmos tipos de dados sendo replicados de outras grades de dados no
domínio
- Ter o mesmo nome do conjunto de mapas, nomes de mapas e modelos de mapas dinâmicos de outras grades de dados no domínio
A política de replicação de um domínio de serviço de catálogo é ignorada.
O
exemplo anterior mostra como configurar cada domínio para ter um link
para o outro domínio, mas é necessário apenas definir um link em uma
direção. Este fato é especialmente útil em topologias hub e spoke,
permitindo uma configuração muito mais simples. O arquivo de propriedades do hub
não requer atualizações conforme os spokes são incluídos e cada arquivo do spoke
precisa apenas incluir informações do hub. De forma semelhante, uma topologia em anel
requer que cada domínio tenha apenas um link para o domínio anterior e o próximo no
anel.
Exemplo: Topologia Hub e Spoke
Figura 2. Topologia Hub e Spoke
O hub e quatro spokes (domínios A, B, C e D) possuem arquivos de propriedades do servidor como os seguintes exemplos.
domainName=Hub
O spoke
A possui as seguintes propriedades do servidor:
domainName=A
foreignDomains=Hub
Hub.endPoints=hostH1:2809, hostH2:2809
O spoke
B possui as seguintes propriedades do servidor:
domainName=B
foreignDomains=Hub
Hub.endPoints=hostH1:2809, hostH2:2809
O spoke
C possui as seguintes propriedades do servidor:
domainName=C
foreignDomains=Hub
Hub.endPoints=hostH1:2809, hostH2:2809
O spoke
D possui as seguintes propriedades:
domainName=D
foreignDomains=Hub
Hub.endPoints=hostH1:2809, hostH2:2809
O que Fazer Depois
É possível fornecer um árbitro de colisão customizado para resolver colisões entre os domínios de serviço de catálogo. Consulte o
Desenvolvendo Árbitros Customizados para a Replicação Multimestre para obter informações adicionais.