Overview of BBSON
The WebSphere Virtual Enterprise product contains a number of distributed components which run within the nodes of a WebSphere cell. Prior to WebSphere Virtual Enterprise Version 6.1.1.0, some of these components communicated the state of the cell (e.g. current memory usage, cpu utilization, etc) using the bulletin board communication service provided by the WebSphere High Availability Manager component (HAM-BB and HAM, respectively).
With the release of WebSphere Virtual Enterprise Version 6.1.1.0, a new bulletin board implementation option is provided. This implementation provides the same communication service as the HAM-BB implementation, without depending on the HAM component. This new implementation is called the Bulletin Board over Service Overlay Network (BBSON) because it uses the Service Overlay Network (SON) component of WebSphere Virtual Enterprise to transmit the bulletin board messages. The SON component is a mature, peer to peer communication mesh which has been used by other WebSphere Virtual Enterprise components since WebSphere Virtual Enterprise 6.1.0. Enabling the BBSON implementation moves the existing WebSphere Virtual Enterprise bulletin board communication from the HAM infrastructure to the SON infrastructure. The implications of this change are discussed in the following sections.
Advantages of using BBSON
Due to the nature of the WebSphere Virtual Enterprise components which make use of bulletin board communication, all processes in a cell must be able to communicate with all other processes. This is known as a mesh topology. Creating a mesh topology with the HAM infrastructure requires that all processes either be a part of the same coregroup, or all coregroups defined in the cell must be bridged together. When running WebSphere Virtual Enterprise, the coregroup size limitation is 50 processes. This means that for medium to large WebSphere Virtual Enterprise deployments, using the HAM infrastructure for WebSphere Virtual Enterprise bulletin board communication requires the creation and bridging of multiple coregroups, which in turn necessitates the creation of bridge processes.
When WebSphere Virtual Enterprise uses the SON infrastructure for bulletin board communication, two major restrictions are lifted. First, the maximum coregroup size is raised to 50-100 processes depending on hardware capabilities, which reduces the overall number of coregroups which must be administrated. Second, the WVE requirement that all coregroups be bridged together is removed.
Note: Depending on how HAM is used by other components/applications in the WebSphere environment, there may still be a requirement for certain coregroup bridges. The discussion of non-Virtual Enterprise component dependencies on HAM configuration is beyond the scope of this document but should be taken into account prior to making configuration changes. Lifting the requirement to bridge coregroups also means that dedicated bridge processes are no longer needed, freeing hardware resources.
In addition to the configuration and administrative simplification gained by utilizing BBSON, the WebSphere Virtual Enterprise product experience is also improved by using BBSON because the BBSON communication layer was designed with WebsShere Virtual Enterprise communication patterns in mind. This allowed for optimizations in the BBSON communication layer that are oriented towards WebSphere Virtual Enterprise usage, whereas HAM-BB is oriented towards WebSphere Application Server Network Deployment communication patterns.
When to enable BBSON
The BBSON implementation does have certain restrictions which limit its applicability to WebSphere environments:
- BBSON cannot interface with HAM-BB. This means that all WebSphere Virtual Enterprise managed processes must be using either the BBSON implementation or the HAM-BB so that they can communicate with each other. Implicitly this means all processes must be running WebSphere Virtual Enterprise Version 6.1.1.0 or above to use BBSON. Note that HAM-BB can still be used by other components when BBSON is enabled, but all WebSphere Virtual Enterprise components will use BBSON.
- Bridging multiple cells is not yet a supported by BBSON.
The WebSphere Virtual Enterprise team has formulated the following set of recommendations regarding which environments should use BBSON:
Environments that must NOT enable BBSON
- Mixed version cells: Some nodes in the cell are not running WebSphere Virtual Enterprise Version 6.1.1.0+
- Multiple cells that need or are already leveraging cross cell bridging, regardless of the installed WebSphere Virtual Enterprise levels in each cell.
Environments that can consider enabling BBSON
- Existing topology that already exploits WebSphere WebSphere Application Server Network Deployment HAM with fully configured/bridged HAM/Coregroups (or a single coregroup)
- Must weigh administrative cost of restarting cell to enable BBSON against future administrative cost for bridges/coregroup splits.
Environments where BBSON is recommended
- New WebSphere Virtual Enterprise Version 6.1.1.0+ installations
- Existing WebSphere Network Deployment topology with HAM disabled
- Existing WebSphere Application Server Network Deployment topology with HAM enabled but coregroups are not fully bridged
- Do not need to create new coregroup bridges to support WebSphere Virtual Enterprise.
How to enable BBSON
WebSphere Virtual Enterprise Version 6.1.1.0+ ships with a wsadmin script for enabling BBSON. The script is named "useWVEBB.py" and resides in the <WAS_HOME>/bin directory. Running this script sets a cell custom property which enables the BBSON implementation for WVE components. It is invoked as "./wsadmin.sh -f useWVEBB.py", no arguments are necessary. Running it with the argument "-useHAMBB" will revert WebSphere Virtual Enterprise to use the HAM-BB implementation.
After running the script, the entire cell must be restarted so that all processes can switch to the new implementation. This must be a "cold" restart of the entire cell, not a rolling restart of each process.
By default, WebSphere Virtual Enterprise contains a feature which automatically configures nodeagents as coregroup bridges. This was intended to ease the bridging of multiple coregroups. Since coregroup bridging is not required by WebSphere Virtual Enterprise once BBSON is enabled, this behavior should be disabled. To disable this feature, set the cell custom property "xd.disable.cgb.config" with a value of "true". In addition, any bridges which were created by this feature should be reviewed and deleted if they were only needed to support the WVE HAM coregroup full mesh topology requirements.
BBSON and the High Availability Manager
It is important to understand that BBSON is not a replacement for the HAM component, nor does the removal of the WebSphere Virtual Enterprise dependency on this component mean that there are no other components which require HAM services which include the HAM-BB as well as a number of other non-bulletin board related functions. In addition, non-WebSphere Virtual Enterprise components will continue to use the HAM-BB implementation even when BBSON is enabled for WebSphere Virtual Enterprise components.
After enabling BBSON, the WebSphere environment should be reviewed in order to determine what HAM dependencies do exist in the environment, and what coregroup bridging (if any) is required to support those dependencies. Unnecessary bridges can create additional points of failure and administrative overhead, as well as impacting the scalability of the WebSphere environment.