NSX Advanced Load Balancer supports the sharing of pool groups across multiple virtual services. The feature supports use cases wherein the same back-end servers are being used by different virtual services, each virtual service having its purpose and properties.
A Pool Group is a list of member (server) pools, combined with logic to select a member from the list. Like a pool, a pool group can be shared by the same type of Layer 7 virtual service.
Pool Group Sharing
A virtual service might refer to a given pool group through multiple techniques:
As the default pool group defined for a virtual service.
Through policy-based content-switching, a virtual service might choose one of its pool groups.
Through DataScript, a virtual service might programmatically choose one of its pool groups.
A pool group can be referenced by multiple virtual services. In accessing the shared pool group, each virtual service can independently use any one of the multiple techniques listed above. As before, a virtual service may access multiple pools, some of them shared and others not. Virtual services sharing a pool group need not be placed on the same SE group.
A virtual service can refer to any combination of shared and non-shared pools at any given time, utilizing multiple and different techniques.
This feature is supported for combinations of IPv4, IPv6, and IPv4v6 addresses.
Restrictions
These are some restrictions when sharing a pool:
Request queing, caching, compression and basic auth are not supported.
Connection multiplexing is supported, but all virtual services sharing the pool must be optioned identically with regard to connection multiplexing.
Some of these restrictions may be removed in future releases.
Configuring Pool Sharing
While working with pools or pool groups continue to be the same, with pool group sharing:
There is an increased number of pool group choices when configuring a virtual service.
There are more ways to extract pool-related information when querying for statistics.