Open xuzhenbao opened 3 weeks ago
Hi,
For 1. I agree with the approach; Use the RSA service ranking.
For 2. I would prefer a small adjustment: Instead of a conan option, use a config property based on the RSA name. Something like CELIX_RSA_MYRSA_IMPORT_SERVICE_RANKING_OFFSET
and use the (negative or positive) value to adjust the provided export service ranking. I prefer something like offset
of weight
, because weight for me implies multiplication not addition/subtraction.
This issue is used to discuss the following issues: If there are multiple remote service instances and local service instances that match the requirements, how to arrange these service instances so that users can select the best service instance.
Currently, I plan to solve this problem based on the following two points:
If there are multiple
Remote Service Admin Service
instances, how to facilitate users to select the best remote service?If there are multiple
Remote Service Admin Service
instances in the same framework instance, thetopology manager
selects the bestRemote Service Admin Service
for importing services based on theService Ranking Order
, the same service (with the sameendpoint.service.id
andendpoint.framework.uuid
property values) is only imported by the bestRemote Service Admin Service
.If there are local service instances and remote service instances that match the requirements at the same time in the same framework instance, how to facilitate users to prefer to use local services or remote services?
To solve this problem, I plan to add a
conan
optionremote_service_ranking_weight
to specify the priority weight of remote services. When importing services, thetopology manager
sets the 'service.ranking' property of the remote service toremote service ranking weight + service.ranking
. Ifremote service ranking weight
is a negative number, the priority of local services is higher, otherwise the priority of remote services is higher.