zuul Gateway Ausgabe und Kurzbericht

Ein Problem,

Bei der tatsächlichen Verwendung zuul fand ein Problem beim Routing-Adresse kann zuul throw Filter warf Ausnahme, den tatsächlichen Fehler Abschirmung nicht erreichen.

Durch das Lesen wird der Quellcode verfügbar, Zuul ZuulException Ausnahme ausgelöst werden, wird innerhalb von Runtimeexception verkapselt werden.

 

Throwable verwenden müssen Abfangjäger-Capture.

 Frage zwei,

Der obige Code abgeleitet von com.netflix.zuul.http.ZuulServletder serviceArt der Umsetzung , die definiert , wenn die Verarbeitung Zuul externen Anforderungsprozess, die Ausführungslogik jeder Art von Filter. Wir können aus den drei Code siehe try-catchBlöcke, die wiederum vertreten die pre, route, postdrei Stufen von Filter fordert in der catchAusnahmeverarbeitung, können wir sehen , dass sie alle sind errorTypen von Filterverfahren (vor der Verwendung errorFilter definierte einheitliche Ausnahme auch die Vorteile dieser Funktion nahm Handhabung); errornach der Art des Filters verarbeitet, zusätzlich von der postAußenseite der abnormal Phase wird dann werden postFilter behandelt. Für den postFall geworfen Ausnahmefilter in durch die errornach der Filterverarbeitung, keine andere Art von Filter , das Vorhandensein der Grundursachen von Mängeln in dem Programm zu übernehmen , vor der Verwendung ist.

Daran erinnert , dass zwei Arten von Ausnahmebehandlung Methoden vor der Implementierung, bei der der Kern davon, wobei diese beiden Behandlungsmethoden im Zusammenhang mit der Ausnahmebehandlung Anforderungszeit eine Reihe von hinzuzufügen error.*Parametern und diese Parameter , wo die eigentliche Arbeit in der ist postStufe SendErrorFilterim Filter werden Parameter verwendet , um den Inhalt an den Client zu organisieren. Wie für den postFall der Phase eine Ausnahme durch das Werfen errornicht Aufruf nach der Verarbeitung postFilteranforderungsphase, natürlich, diese error.*werden Parameter nicht SendErrorFilterder Verbraucher ausgegeben. Also, wenn wir einen eigenen haben postFilter , wenn sie nicht richtig die Ausnahme behandelt, ist es wahrscheinlich immer noch im Protokoll erscheinen und keine abnormale Antwort auf eine Anfrage ist leer Frage. Wir können ändern , bevor ThrowExceptionFilterdie filterTypeÄnderung ist postdie Existenz dieses Problems, achten , um zu überprüfen , die entfernen try-catchVerarbeitungsblock, kann es eine Ausnahme werfen.

Um die obigen Probleme dort zu lösen sind viele, wie die unmittelbarste wir erreichen können , errorwenn die Filterergebnisse zurückgegeben werden direkt an die Organisation in der Lage , den Effekt zu erzielen, aber solche Mängel liegen auf der Hand, für Informationsorganisation und Fehlercodes zurückgegeben es erreichen dort mehrere Kopien sein wird, ist dies sehr schwierig für unsere zukünftigen Code Wartungsarbeiten. Deshalb, um konsistente Ausnahme Rückkehr Verarbeitungslogik zu erhalten, haben wir noch wird Hoffnung posteine Ausnahme Filter geworfen in der Lage sein SendErrorFilterzu handhaben .

Im vorhergehenden haben wir einen erreicht ErrorFiltergefangen pre, route, postFilter geworfen Ausnahme und error.*Gewebeparameter im Rahmen des Antrags. Da unser Ziel zu verfolgen ist SendErrorFilter, diese error.*Parameter sind für uns nach wie vor sinnvoll, so können wir den Filter machen es weiterhin verwendet werden , um postZeit zu werfen einen Ausnahmefilter, weiterhin organisieren error.*Parameter, aber hier können wir nicht , diese haben error.*Parameter , bevor sie weitergeleitet werden SendErrorFitlerFilter es ist zu behandeln. Also müssen wir ErrorFilterdie Filter nach einem Neudefinition errorFiltertyp, lassen Sie es zu der Erkenntnis gelangt , SendErrorFilterdie Funktion, aber die errorFilter muss nicht mit all ungewöhnlichen Umständen beschäftigen, ist es nur posteine Ausnahme wirksame Filter ausgelöst wurde. Nach den oben genannten Ideen können wir eine Klasse, die erbt von erstellen SendErrorFilterdie Filter, es wiederverwenden kann runVerfahren, und schreibt sie dann auf die Art, Reihenfolge und Ausführungsbedingungen, Multiplexen der ursprünglichen Logik zu erreichen, und zwar wie folgt umgesetzt:

 

 

 

 

https://www.cnblogs.com/duanxz/p/7543040.html

 

 

 

 

 

 

Zuul Gateway verwendet Zusammenfassung

Ich denke du magst

Origin www.cnblogs.com/anhaogoon/p/12560702.html
Empfohlen
Rangfolge