public class OperationInstancesDiscoveryFilter extends AbstractDiscoveryFilter
create operation related instances
Preconditions:
compatible is ensure by appManager.getOrCreateMicroserviceVersionRule
instances in "DiscoveryTreeNode parent" are compatible:
new version can only add operations, not delete operations
eg:
microservice name is ms1
2 instances are 1.0.0, instance id are i1/i2, schemaId is s1, operations are o1/o2
3 instances are 1.0.1, instance id are i3/i4/i5, schemaId is s1, operations are o1/o2/o3
will create nodes:
{
"ms1.s1.o1": {
{"i1": instance-i1}, {"i2": instance-i2}, {"i3": instance-i3}, {"i4": instance-i4}, {"i5": instance-i5}
},
"ms1.s1.o2": {
{"i1": instance-i1}, {"i2": instance-i2}, {"i3": instance-i3}, {"i4": instance-i4}, {"i5": instance-i5}
},
"ms1.s1.o3": {
{"i3": instance-i3}, {"i4": instance-i4}, {"i5": instance-i5}
},
}
that means, if invoke o1 or o2, can use 5 instances, but if invoke o3, can only use 3 instances
by this filter, we can make sure that new operations will not route to old instances
| Constructor and Description |
|---|
OperationInstancesDiscoveryFilter() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
enabled() |
protected String |
findChildName(DiscoveryContext context,
DiscoveryTreeNode parent) |
int |
getOrder() |
void |
init(DiscoveryContext context,
DiscoveryTreeNode parent) |
boolean |
isGroupingFilter() |
protected List<MicroserviceVersion> |
sortedMicroserviceVersion(Invocation invocation,
Map<String,MicroserviceInstance> instances) |
discoverypublic int getOrder()
public boolean enabled()
public boolean isGroupingFilter()
protected String findChildName(DiscoveryContext context, DiscoveryTreeNode parent)
findChildName in class AbstractDiscoveryFilterpublic void init(DiscoveryContext context, DiscoveryTreeNode parent)
init in class AbstractDiscoveryFilterprotected List<MicroserviceVersion> sortedMicroserviceVersion(Invocation invocation, Map<String,MicroserviceInstance> instances)
Copyright © 2017–2022 The Apache Software Foundation. All rights reserved.