Dispone de diversas opciones al elegir la topología para el despliegue
que incorpora varios colectivos.
Una infraestructura de cuadrícula de datos de réplica es un gráfico conectado de colectivos con enlaces bidireccionales entre ellos. Con un enlace, dos colectivos pueden comunicar los cambios de datos. Por ejemplo, la topología más sencilla es un par de colectivos con un único enlace entre ellos. Los colectivos se nombran alfabéticamente: A, B, C, etcétera, a partir de la izquierda. Un enlace puede cruzar una red de área amplia (WAN), abarcando distancias grandes. Aunque se interrumpa el enlace, aún puede cambiar datos en cualquier colectivo. La topología reconcilia los cambios cuando el enlace vuelve a conectar los colectivos. Los enlaces intentan volverse a conectar automáticamente si se interrumpe la conexión de red.
Después de configurar los enlaces, en primer lugar el producto intenta que cada colectivo sea idéntico. Luego, eXtreme Scale intenta mantener las condiciones idénticas cuando se van produciendo cambios en cualquier colectivo. El objetivo es que cada colectivo sea un reflejo exacto de cada colectivo conectado por los enlaces. Los enlaces de réplica entre colectivos sirven para garantizar que los cambios realizados en un colectivo se copian en los otros colectivos.
Aunque es un despliegue muy simple, una topología de línea muestra algunas cualidades de los enlaces. En primer lugar, no es necesario que un colectivo esté conectado directamente a cada colectivo para recibir los cambios. El colectivo B obtiene los cambios del colectivo A. El colectivo C recibe los cambios del colectivo A a través del colectivo B, que conecta los colectivos A y C. De forma similar, el colectivo D recibe los cambios de los otros colectivos a través del colectivo C. Esta capacidad dispersa la carga de distribuir los cambios desde el origen de los cambios.
Las topologías de anillo son un ejemplo de una topología más flexible. Cuando un colectivo o un único enlace falla, los colectivos supervivientes aún pueden obtener los cambios. Los colectivos viajan alrededor del anillo, alejándose de la anomalía. Cada colectivo tiene como máximo dos enlaces con otros colectivos, independientemente del tamaño de la topología del anillo. La latencia para propagar los cambios puede ser grande. Es posible que los cambios de un colectivo determinado tengan que viajar a través de varios enlaces antes de que todos los colectivos tengan los cambios. Una topología de línea tiene la misma característica.
También puede desplegar una topología de anillo más sofisticada, con un colectivo raíz en el centro del anillo. El colectivo raíz funciona como punto central de reconciliación. Los otros colectivos actúan como puntos remotos de reconciliación para los cambios que se producen en el colectivo raíz. El colectivo raíz puede arbitrar los cambios entre los colectivos. Si una topología de anillo contiene más de un anillo alrededor de un colectivo raíz, el colectivo solo puede arbitrar los cambios entre el anillo más interno. Sin embargo, los resultados del arbitraje se dispersan por todos los colectivos en los demás anillos.
Con una topología de hub y radio, los cambios viajan a través de un colectivo de hub. Debido a que el hub es el único colectivo intermedio especificado, las topologías de hub y radio tienen una latencia menor. El colectivo de hub está conectado a cada colectivo de radio mediate un enlace. El hub distribuye los cambios entre los colectivos. El hub actúa como un punto de reconciliación para las colisiones. En un entorno con una tasa de actualización alta, es posible que el hub necesite ejecutarse en más hardware que los radios para permanecer sincronizado. WebSphere DataPower XC10 Appliance está diseñado para escalar de forma lineal, lo que significa que puede ampliar el hub, según sea necesario, sin dificultad. Sin embargo, si el hub falla, los cambios no se distribuyen hasta que se reinicia el hub. Cualquier cambio en el colectivos de radio se distribuirá cuando se vuelva a conectar el hub.
También puede utilizar una estrategia con clientes completamente replicados, una variación de topología que utiliza un par de servidores que se ejecutan como un hub. Cada cliente crea una cuadrícula de datos de un solo contenedor autocontenida con un catálogo en la JVM de cliente. Un cliente utiliza su cuadrícula de datos para conectarse al catálogo de hub. Esta conexión hace que el cliente se sincronice con el hub tan pronto como el cliente obtenga una conexión del hub.
Los cambios realizados por el cliente son locales al cliente y se hace una réplica de ellos asíncrona en el hub. El hub actúa como un colectivo de arbitraje y distribuye los cambios a todos los clientes conectados. La topología de clientes completamente replicados proporciona una memoria caché L2 fiable para una correlacionador relacional de objetos como, por ejemplo, OpenJPA. Los cambios se distribuyen rápidamente entre las JVM de cliente a través del hub. Si el tamaño de memoria caché puede estar contenido en el espacio de almacenamiento intermedio disponible, la topología es una arquitectura fiable para este estilo de L2.
Utilice varias particiones para escalar el colectivo de hub en varias JVM, si es necesario. Debido a que todos los datos aún deben caber en una única JVM de cliente, varias plataformas aumentan la capacidad del concentrador para distribuir y arbitrar cambios. Sin embargo, tener varias particiones no cambia la capacidad de un único colectivo.
También puede utilizar un árbol dirigido acíclico. Un árbol acíclico no tiene ciclos ni bucles, y una configuración dirigida limita los enlaces a los existentes solo entre padres e hijos. Esta configuración es útil para las topologías que tienen muchos colectivos. En estas topologías, no es práctico tener un hub central que esté conectado a todos los radios posibles. Este tipo de topología también puede ser útil cuando deba añadir colectivos hijos sin actualizar el colectivo raíz.
Una topología en árbol aún puede tener un punto central de reconciliación en el colectivo raíz. El segundo nivel aún puede funcionar como punto remoto de reconciliación para los cambios que se producen en el colectivo por debajo suyo. El colectivo puede arbitrar los cambios entre los colectivos del segundo nivel solo. También puede utilizar árboles "n-ários", cada uno de los cuales tiene N hijos en cada nivel. Cada colectivo se conecta a n enlaces.
En esta variación de topología intervienen un par de servidores que se ejecutan como un hub. Cada cliente crea una cuadrícula de datos de un solo contenedor autocontenida con un catálogo en la JVM de cliente. Un cliente utiliza su cuadrícula de datos para conectarse al catálogo de hub, lo que hace que el cliente se sincronice con el hub tan pronto como el cliente obtiene una conexión del hub.
Los cambios realizados por el cliente son locales al cliente y se hace una réplica de ellos asíncrona en el hub. El hub actúa como un colectivo de arbitraje y distribuye los cambios a todos los clientes conectados. La topología de clientes totalmente replicados proporciona una buena memoria caché L2 para un correlacionador relacional de objetos, como OpenJPA. Los cambios se distribuyen rápidamente entre las JVM de cliente a través del hub. Siempre que el tamaño de la memoria caché se pueda incluir en el espacio de almacenamiento dinámico disponible de los clientes, esta topología es una buena arquitectura para este estilo de L2.
Utilice varias particiones para escalar el colectivo de hub en varias JVM, si es necesario. Debido a que todos los datos todavía deben caber en una única JVM cliente, el uso de varias particiones aumenta la capacidad del hub para distribuir y arbitrar los cambios, pero no cambia la capacidad de un único colectivo.