apache / apache/servicecomb-java-chassis

[QUESTION] - 2.x升级3.x适配方案

オープン
#5,060 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
question
主要言語
Java
スター
1.9k
フォーク
814
平均マージ
8日 23時間
マージ済み PR(30日)
1

説明

### 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_

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

まず、issue で挙げられている 2.x API—MicroserviceVersionRule、PolicyRuleItem、MicroserviceCache—を、ServiceComb Java Chassis API における 3.x の対応物と比較します。ServiceCenterClient の結果をフィルタリングすることと、リクエストヘッダーの値を照合することによって、同等の動作が得られるかを検証します。3 つの移行に関する質問それぞれについて、確認済みの置き換えまたは制限事項が文書化されていれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
java
領域
backend, distributed-systems
issue の種類
ドキュメント
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。