Core groups (high availability domains)
A core group is a high availability domain that consists of a set of processes in the same cell that can directly establish high availability relationships. Highly available components can only fail over to another process in the same core group and replication can occur only between members of the same core group.
A cell must contain at least one core group, although 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.
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. The following rules govern the core group membership:
- Every process is a member of exactly one core group.
- All members of a cluster must be members of the same core group.
- An administrative process (node agent or deployment manager) is NOT required in each coregroup when split up.
A core group member has a well-defined life cycle. When the first core group member starts, the transport that is 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 is responsible for discovering when other core group processes start, and for opening network connections to these other members.
- The View Synchrony Protocol is responsible for establishing reliable messaging with other core group members after the connections are opened.
- The Failure Detection Protocol is responsible for detecting when other core group members stop or become unreachable because of a network partition.
When you start a single clustered server, you must 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.gotcha
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, you 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
- Change the number of core group coordinators
- Configure core group preferred coordinators
- Core group administration considerations
- Core group scaling considerations
- Core group View Synchrony Protocol
- Core group discovery and failure detection protocols
- Core group protocol versions
- Core group transports
- Core group communications using the core group bridge service
- Policies for service integration
- 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)