Ocelot er en åpen kildekode API-gateway implementert i .NET Core, som er kraftig og inkluderer ruting, forespørselsaggregasjon, tjenesteoppdagelse, autentisering, autentisering, current limiting circuit breaker og innebygd integrasjon av lastbalanserer med Service Fabric og Butterfly Tracing. Disse funksjonene trenger bare å være enkle å fullføre, og vi vil forklare konfigurasjonen av disse funksjonene én etter én.
Selvfølgelig har Java-prosjekter også gateways, Spring Cloud Gateway er Spring Clouds nye gateway-rammeverk, tidligere Netflix Zuul.
Først oppretter du et tomt prosjekt ASP.NET Core 3.1 med navnet: dotnet-gateway-demo
Nuget installerer Ocelot med følgende kommando:
Lag to nye asp.net Core 3.1 API-prosjekter, kalt web-api-demo1 og web-api-demo2, henholdsvis. Løsningsstrukturen er som følger:
Endre Get-metoden til WeatherForecastController-kontrolleren for prosjektene "web-api-demo1" og "web-api-demo2" med følgende kode:
demo1 lenke: http://localhost:7853/weatherforecast Demo2-lenke: http://localhost:7863/weatherforecast
I rotmappen til dotnet-gateway-demo-prosjektet, opprett en ny konfigurasjonsfil "ocelot.json", som følger:
hvor BaseUrl-adressen fylles ut med lanserings-URL-en til det nåværende prosjektet,Fyll inn etter din faktiske situasjon。
- DownstreamPathTemplate: Den relative banen til nedstrømstjenesten
- DownstreamScheme: Downstream-tjenestens http-skjema
- DownstreamHostAndPorts: Adressen til nedstrømstjenesten, hvis du bruker LoadBalancer, kan du fylle ut flere felt her
- UpstreamPathTemplate: 上游也就是用户输入的请求Url模板
- UpstreamHttpMethod: 上游请求http方法,可使用数组
Bli med i Program.cs CreateHostBuilder
Rediger Startup.cs-filen med følgende kode:
Hovedkodene er:
Sett opp et oppstartsprosjekt og start tre webprosjekter samtidig, som vist i følgende figur:
Når oppsettet er fullført, start og, i henhold til våre konfigurasjonsregler, prøv å få tilgang til:Innloggingen med hyperkoblingen er synlig.ogInnloggingen med hyperkoblingen er synlig.Som vist nedenfor:
Vi legger til følgende konfigurasjon i ocelot.json-filen, prøver å reverse proxy dette nettstedet, konfigurasjonen er som følger:
Prøv å besøke:Innloggingen med hyperkoblingen er synlig.
Nedlasting av kildekode:
Turister, hvis dere vil se det skjulte innholdet i dette innlegget, vær så snill Svare
Referansedokumentasjon:Innloggingen med hyperkoblingen er synlig.
(Slutt)
|