[FEATURE] - 一个性能优化思路,扩展服务监听/注册/发现和流量调度机制,实现本地地址监听&本地实例优先调度,提高微服务框架通信性能
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 28/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Ruhig
- Tech-Stack
- java
- Bereich
- backend, distributed-systems
Rechercherichtung
Beginnen Sie mit dem Lesen der Einstiegspunkte für Serviceregistrierung, Serviceerkennung und Traffic-Routing in ServiceComb Java Chassis; das Issue nennt keine spezifischen Dateien oder Tests. Bewerten Sie, wie das Lauschen an lokalen Adressen und die Priorisierung lokaler Provider-Instanzen in die bestehenden Mechanismen passen würden, wobei das globale Traffic-Balancing erhalten bleibt. Als abgeschlossen gilt die Aufgabe, wenn ein abgestimmtes Design und eine Implementierung vorliegen, die die vorgeschlagenen Verbesserungen bei Kommunikation und Ressourcennutzung demonstrieren; das Issue selbst stellt keine Abnahmetests bereit.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Problem this feature would solve
微服务架构的特点是服务粒度比较小,实例数量多,实例之间存在大量通信,通信时涉及大量网络IO、加密传输、接口鉴权等性能损耗。
Describe the solution
由于微服务实例粒度比较小,实际部署时往往多个实例会部署在一个主机上,假如同一个主机上的实例之间使用127.0.0.1地址来通信,那么受攻击面会大大减少,业务就可以考虑去掉加密传输、接口鉴权这些安全性的开销,同时在主机内通信只需要在内核协议转中转发,不需要经过网卡驱动和IO。
进一步来说,假如每个consumer都优先路由到本地的provider、同时兼顾全局的流量均衡,那么整个系统的性能都会有较大提升。
我们在业务产品上做了实验,原来一个主机上最多部署5个实例,优化后可以部署10个实例,CPU占用率与5个实例时基本持平,主机资源总体可以节省20%左右。
请社区看下这个特性,如果有价值的话我可以把代码提交进来。
Alternatives considered
No response
Additional Context
No response
- Vorherrschende Sprache
- Java
- Sterne
- 1.9k
- Forks
- 813
- Ø Merge
- 8 T. 23 Std.
- Gemergte PRs (30 T.)
- 1
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus apache/servicecomb-java-chassis
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
apache/servicecomb-java-chassis#5106 ·
-
question
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
apache/servicecomb-java-chassis#5153 · 1 Kommentar ·
-
[QUESTION] - 请发布3.x的最新版本 Offenquestion
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 25/100
apache/servicecomb-java-chassis#5146 ·
-
[FEATURE] - When will ServiceComb support Spring Boot 4.x, Spring Framework 7.x, and Jackson 3.x? Offenenhancement
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
apache/servicecomb-java-chassis#5145 ·
-
2.x bug
apache/servicecomb-java-chassis#5141 · 1 zugewiesene Person ·
Alle Issues in apache/servicecomb-java-chassis
Ähnliche Issues
-
documentation
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
inu-appcenter/memorIN-backend#288 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
-
frontend maui-pilot pilot-ask question
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
-
executions.Query — startDate and timeRange filters are sent with inverted comparison operators Offenarea/plugin
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
kestra-io/plugin-kestra#190 ·