A core group is a set of application servers that can be divided up into various high availability groups. It is a statically defined component of the WebSphere Application Server high availability manager function that monitors the application server environment and provides peer to peer failover of application server components.
A core group can contain one or more high availability groups. However, a high availability group must be totally contained within a single core group. Any component, such as the service integration bus component of IBM service integration technologies or the WebSphere Application Server transaction manager, can create a high availability group for that component's use. For example, the service integration bus might need a high availability group to support its messaging engines, and the transaction manager component might need a high availability group to support its transaction logs.
A cell must have at least one core group. The WebSphere Application Server creates a default core group, called DefaultCoreGroup, for each cell. All the server processes and Java virtual machines (JVMs), including node agents on all managed nodes, the deployment manager, and application servers residing within a cell are initially members of this default core group.
When properly configured, the default core group is sufficient for establishing a high availability environment. However, certain topologies require the use of multiple core groups. For example, if a firewall is used to separate the proxy environment from the server environment, an additional core group is required in order to provide proper failover support. For this particular type of environment, application servers outside of the firewall are members of a separate core group from the application servers that are inside of the firewall.
The core group contains a bridge service, which supports cluster services that span multiple core groups. Core groups are connected by access point groups. A core group access point defines a set of bridge interfaces that resolve to IP addresses and ports. It is through this set of bridge interfaces that the core group bridge provides access to a core group. If you create additional core groups, when you move core group members to the new core groups, remember that:
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. IP visibility means that each member is entirely receptive to the communications of any other core group member. A core group consists of the following elements:
In a run-time server environment each core group functions as an independent unit. A Java Virtual Machine (JVM) that is contained within a cell can be a member of one core group only. This JVM can be a node agent, an application server or a deployment manager. However, even though the deployment manager can belong to one core group only, it is still responsible for configuring all of the application servers within a cell, even if multiple core groups are defined for that cell. Every process within a core group contains an instance of the high availability MBean that can be used for various runtime operations within that core group. Java Management Extensions (JMX) connectors can be used to connect and query for this MBEAN in the following ways:
Because the high availability MBean instances are scoped to a core group, if you have multiple core groups configured within a cell, refine a query for this MBean to the servers that are members of the core group you want to manage.
The coordinator retains and tracks membership and state changes for a core group. To work efficiently, the coordinator must have enough memory to contain the group and state information for the online members of the core group. Configuring multiple coordinators enables this task to be shared equally among a set of online coordinators.
Using the administrative console, you can designate specific servers as preferred coordinator servers. High availability manager coordinators run in these servers. If no preferred coordinator servers are specified, the high availability manager selects them. To minimize churn on the core group, it is recommended that you designate specific servers as preferred coordinator servers and limit how often you restart these servers. The heap sizes for the JVMs and the relative amount of memory that the JVMs use to host coordinator services need to be tuned to ensure that enough memory is available to hold the group and state information for the core group.
While core group members are statically configured, high availability group members are dynamically selected and only exist as run-time entities. The WebSphere Application Server runtime uses a policy matching program to determine the policy that should be used for each high availability group. Each policy includes a match criterion that consists of a set of name=value pairs. The policy matching program matches these name=value pairs with attributes contained in the name of a high availability group. When a match is made, the policy is associated with that high availability group.
Related tasks
High availability manager