apache / apache/servicecomb-java-chassis
[QUESTION] - 2.x升级3.x适配方案
- Langage dominant
- Java
- Étoiles
- 1.9k
- Forks
- 814
- Merge moyen
- 8 j 23 h
- PR mergées (30 j)
- 1
Description
### Steps to reproduce (if applicable)
问题1:
2.x中可以通过以下代码获取指定appid,serviceName的实例集合
````
MicroserviceVersionRule microService = DiscoveryManager.INSTANCE.getAppManager().getOrCreateMicroserviceVersionRule(
appId, serviceName, SERVICE_VERSION_RULE);
Map instanceMap = microService.getInstances();
````
3.x中api变化,应该怎么替换实现相同的功能
通过serviceCenterClient获取所有的微服务,然后再过滤,是否可行?或者有没有更好的平替方法?
```
ServiceCenterClient serviceCenterClient = BeanUtils.getBean(ServiceCenterClient.class);
List microserviceList = serviceCenterClient.getMicroserviceList().getServices();
```
问题2:2.x中PolicyRuleItem可以通过getMatch().match()判断某个请求头的值是否符合正则,3.x中要怎么替换适配?
问题3:2.x中MicroserviceCache.getInstance().getService()的替换方案
### What have you tried so far?
_No response_
### Additional context
_No response_
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
Commencez par comparer les API 2.x nommées dans l’issue—MicroserviceVersionRule, PolicyRuleItem et MicroserviceCache—avec leurs équivalents 3.x dans la ServiceComb Java Chassis API. Vérifiez si le filtrage des résultats de ServiceCenterClient et la mise en correspondance des valeurs des en-têtes de requête fournissent un comportement équivalent. Le travail est considéré comme terminé lorsqu’un remplacement confirmé ou une limitation confirmée est documenté pour chacune des trois questions de migration.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- java
- Domaine
- backend, distributed-systems
- Type d'issue
- Documentation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100