Core groups (high availability domains)
A core group is a high availability domain consisting of a set of processes in the same cell. These processes that are members of the core group establish high availability relationships, failing over to each other. Replication occurs between members of the same core group.
A cell contains at least one core group. multiple core groups are supported. Each core group contains a core group coordinator to manage its high availability relationships, and a set of high availability policies used to manage the highly available components within that core group.
Core group members
Every deployment manager, node agent, application server, and proxy server is a member of a core group. When a process is created it is automatically added to a core group. The core group membership is stored in a product configuration document. We can move processes from one core group to another.
- Every process is a member of exactly one core group.
- All members of a cluster must be members of the same core group.
- A node agent or deployment manager administrative process is not required in each core group when the core group is split up if the core group does not have a cluster. For a cluster, all node agents related to the cluster must be in the same core group or be bridged using the core group bridge service.
A core group member has a well-defined life cycle. When the first core group member starts, the transport dedicated to that core group automatically starts. The Discovery Protocol, View Synchrony Protocol, and Failure Detection Protocol for that core group member also start and run for the entire lifetime of the core group member:
- The Discovery Protocol discovers when other core group processes start, and for opening network connections to these other members.
- The View Synchrony Protocol establishes reliable messaging with other core group members after the connections are opened.
- The Failure Detection Protocol detects when other core group members stop or become unreachable because of a network partition.
When we start a single clustered server, make sure at least one other core group member is running. If only one core group member is running, the high availability manager cannot complete initialization because at least two core group members must be running before the high availability manager can select a core group coordinator.
Core group coordinator
The core group coordinator is responsible for coordinating high availability activities between the core group members for which View Synchrony Protocol is established.
Core group transport
Network communication between all the members of a core group is essential. The network environment must consist of a fast local area network (LAN) with full Internet Protocol (IP) visibility and bidirectional communication between all core group members. Each core group member must be able to receive communications from any of the other core group members.
Multiple core groups
A cell, by default, contains a single core group, called DefaultCoreGroup. All processes in the cell are initially members of this core group. A single core group is usually sufficient. However, some topologies or special circumstances require multiple core groups. There are also topologies that do not require multiple core groups but having them is a good practice. For example, we might want to define multiple core groups if :
- A large number of processes in the cell and the core group protocols, such as the View Synchrony Protocol, consume correspondingly large amounts of resources such as CPU.
- Core group protocols, such as the Failure Detection Protocol, need tuning or configuring to use values that work best with smaller numbers of core group members.
If members of different core groups need to share workload management or on-demand configuration routing information, use the core group bridge service to connect these core groups. The core group bridge service uses access point groups to connect the core groups. A core group access point defines a set of bridge interfaces that resolve to IP addresses and ports. The core group bridge service uses this set of bridge interfaces to enable members of one core group to communicate with members of another core group.
Subtopics
- Core group migration considerations
- Core group coordinator
- Core group administration considerations
- Core group scaling considerations
- Core group View Synchrony Protocol
- Core group discovery and failure detection protocols
- Core group protocol versions
Related:
Core group transports Core group communications using the core group bridge service Policies for service integration Change the number of core group coordinators Configure core group preferred coordinators Configure the default Discovery Protocol for a core group Configure the default Failure Detection Protocol for a core group Configure a core group transport Create a new core group (high availability domain) Move core group members Configure a core group policy for messaging engines Best practices for large WebSphere topologies (PDF)