Apache ShenYu (Inkubation) 2.4.3
Liu Yi, Xiao Yu, Apache ShenYu
Release-Manager
2 / Apache ShenYu PPMC
Nach 3 Monaten hat Apache ShenYu erneut Version 2.4.3 veröffentlicht. Der Inhalt dieser Version hat mehr als 200 Pull-Requests, mehr als 30 Mitwirkende haben teilgenommen, viele neue Funktionen wurden hinzugefügt, viele Fehler wurden behoben und viele Optimierungen wurden vorgenommen. viele von Inhalten
Vol .1 Neue Funktionen
- Wiederholungsmechanismus für Http-registrierten Client hinzugefügt.
- Der unterstützte Inhaltstyp ist Octet-Stream.
- Unterstützt die Umleitung von Bootstrap-URIs.
- Lokale API-Autorisierung hinzugefügt.
- Unterstützt die Konfiguration der Größe des Dubbo-Consumer-Thread-Pools.
- Unterstützung des Fehlerwiederholungsmechanismus für das Divide-Plug-in.
- Client-Konfiguration für Webscoket wird unterstützt.
- Siehe auch MemoryLimitedLinkedBlockingQueue.
- Unterstützt den gemeinsam genutzten Thread-Pool des Alibaba Dubbo-Plug-ins.
- Unterstützt den gemeinsam genutzten Thread-Pool des gRPC-Plug-ins.
- Metrics-Plugin hinzugefügt.
- Cache-Plugin hinzufügen.
- Logging RocketMQ-Plugin hinzugefügt.
Vol.2 Optimierungselemente
- Aktualisieren Sie JUnit4 auf JUnit5.
- Passwortverschlüsselung optimieren.
- Optimieren und überprüfen Sie die Schnittstellenparameter des shenyu-admin-Moduls.
- Beim Optimieren der Synchronisierung von Daten Code, der Daten initialisiert.
- Integrationstests für das LoggingRocketMQ-Plugin hinzugefügt.
- Verwenden Sie den geplanten Rundenalgorithmus in der ScheduledExecutorService-Klasse.
- Refactoring der buildHandle-Methode des registrierten URI in admin.
- Der Spring Cloud-Client wurde optimiert, um den Port automatisch festzulegen.
- Überarbeitetes JWT-Plug-in zur Unterstützung von Multi-Level-Token.
- Optimierte Gateway-Netty-Parameteranpassung und konfigurierbar
Vol.3 Fehler beheben
- Nullzeiger-Ausnahme bei der Initialisierung der CommonUpstreamUtils-Klasse behoben.
- Beurteilung behoben, wenn die Nacos-Registrierung fehlschlägt.
- Nullzeiger-Ausnahme beim Anmelden eines nicht registrierten Benutzers behoben.
- Beheben Sie das Problem des wiederholten Druckens des Startprotokolls.
- Das Problem wurde behoben, dass die Anzahl der Wiederholungen und die Timeout-Periode nicht wirksam wurden.
- Beheben Sie das Problem des Token-Parsing-Fehlers.
- Beheben Sie das Problem, dass Websocket große Daten abnormal überträgt.
- Behoben, dass das NettyHttpClient-Plug-in bei einem Fehler keine Wiederholung versucht.
- Schwachstelle CVE-2021-41303 behoben.
- Es wurde ein Problem behoben, bei dem die Beurteilung aller Plugin-Einschlussbedingungen nicht wirksam wurde.
- Beheben Sie das Problem, dass HTTP-Header Daten verlieren.
- Behebung des Rewrite-Plugins, das keine URL-Platzhalter unterstützt.
- Beheben Sie das Problem von anormalen Synchronisationsdaten in Nacos.
- Behebung eines Websocket-Proxy-Fehlers oder einer Nullzeiger-Ausnahme, wenn das ContextPath-Plug-in geöffnet ist.
- Die Überprüfung der Portbelegung für Http-registrierte Clients wurde korrigiert.
Band 4 Entfernte Elemente
- Entfernen Sie das Monitor-Plugin.
- Entfernen Sie das Shenyu-Agent-Modul.
Vol.5 Metrics Plugin Anleitung
Das Metrics -Plug-in wird vom Gateway verwendet, um seinen eigenen Betriebsstatus (JVM-bezogen), die Verzögerung der Antwort auf Anfragen, QPS, TPS und andere zugehörige Metriken zu überwachen.
Verwendung von Plugins
-
Fügen Sie die Metrikabhängigkeit in der pom.xml-Datei des Gateways hinzu.
<dependency>
<groupId>org.apache.shenyugroupId>
<artifactId>shenyu-spring-boot-starter-plugin-metricsartifactId>
<version>${project.version}version>
<dependency>
-
Bearbeiten Sie Folgendes in der YAML-Konfigurationsdatei des Gateways
shenyu:
metrics:
enabled: false #设置为 true 表示开启
name : prometheus
host: 127.0.0.1 #暴露的ip
port: 8090 #暴露的端口
jmxConfig: #jmx配置
props:
jvm_enabled: true #开启jvm的监控指标
Informationen zu spezifischen Metriken finden Sie in der offiziellen Website-Beschreibung: https://shenyu.apache.org/zh/docs/plugin-center/observability/metrics-plugin
Vol.5 Cache -Plug-in-Anweisungen
Das Cache-Plug-In kann die Ergebnisse des Zieldienstes zwischenspeichern und ermöglicht dem Benutzer auch, die Ablaufzeit der zwischengespeicherten Ergebnisse zu konfigurieren
Verwendung von Plugins
-
Cache-Abhängigkeit in der pom.xml-Datei des Gateways hinzugefügt.
<Abhängigkeit>
<groupId>org.apache.shenyu</groupId>
<artifactId>shenyu-spring-boot-starter-plugin-cache</artifactId>
<Version>${Projekt.Version}</Version></dependency>
-
Szenarien, in denen Daten nicht häufig aktualisiert werden und eine große Anzahl von Aufrufen erfordern.
-
Für Szenarien, die keine hohe Datenkonsistenz erfordern.
Vol.5 Logging RocketMQ Plugin-Anweisungen
Das Apache ShenYu- Gateway empfängt die Client-Anfrage, leitet die Anfrage an den Server weiter und gibt das Serverergebnis an den Client zurück. Das Gateway kann die detaillierten Informationen zu jeder Anfrage aufzeichnen.
Aufgeführt als: Anforderungszeit, Anforderungsparameter, Anforderungspfad, Antwortergebnis, Antwortstatuscode, zeitaufwändig, Upstream-IP, Ausnahmeinformationen warten.
Das Plug-in Logging-RocketMQ ist ein Plug-in, das Zugriffsprotokolle aufzeichnet und Zugriffsprotokolle an den RocketMQ-Cluster sendet.
Verwendung von Plugins
Fügen Sie Abhängigkeiten in der pom.xml-Datei des Gateways hinzu.
<Abhängigkeit>
<groupId>org.apache.shenyu</groupId>
<artifactId>shenyu-spring-boot-starter-plugin-logging-rocketmq</artifactId>
<Version>${Projekt.Version}</Version></dependency>
Die spezifische Konfiguration und die Funktion jedes Parameters finden Sie auf der offiziellen Website: https://shenyu.apache.org/zh/docs/plugin-center/observability/logging-rocketmq
Planung für die nächste Version
Merkmale
Fügen Sie einen Clusterplan hinzu
Shenyu-Proxy-Modul hinzugefügt, um den Cluster-Modus von ShenYu und die dynamische Erweiterung und Kontraktion von Gateways zu unterstützen
Shenyu-nginx-Unterprojekt hinzugefügt, um eine Verbindung zum Nginx-Upstream-Modul herzustellen
Mehrsprachiges SDK hinzugefügt
Das mehrsprachige SDK dient hauptsächlich dazu, anderen Arten von Sprachen den schnellen Zugriff auf das Shenyu-Gateway zu ermöglichen
https://github.com/apache/incubator-shenyu-client-donet
https://github.com/apache/incubator-shenyu-client-golang
https://github.com/apache/incubator-shenyu-client-python
Unterstützung für Helm hinzugefügt
begleiten Sie uns
Apache ShenYu ist ein Plug-in-Hochleistungs-API-Gateway mit mehreren Protokollen, das im Mai 2021 in den Apache-Inkubator aufgenommen wird
Wie kann ich beitragen?
https://shenyu.apache.org/zh/community/contributor-guide