Gloo supports creating routes that send requests to multiple upstreams. There are two ways this can be accomplished:
Multi Destinations: This is where multiple upstreams are configured on a route, with weights associated with them.
Upstream Groups: This is an abstraction where the upstreams and weights are stored in a separate UpstreamGroup CRD. This makes it easier to reuse the same set of upstreams across multiple routes, and modify the membership of the group without changing the VirtualService definition.
Subsets: Routing to subsets of an upstream