Ocelot är en öppen källkods API-gateway implementerad i .NET Core, som är kraftfull och inkluderar routing, förfrågningsaggregering, tjänsteupptäckt, autentisering, autentisering, strömbegränsande brytare samt inbyggd lastbalanseringsintegration med Service Fabric och Butterfly Tracing. Dessa funktioner behöver bara vara enkla att slutföra, och vi kommer att förklara konfigurationen av dessa funktioner en och en.
Självklart har Java-projekt också gateways, Spring Cloud Gateway är Spring Clouds nya gateway-ramverk, tidigare Netflix Zuul.
Skapa först ett tomt projekt ASP.NET Core 3.1 med namnet: dotnet-gateway-demo
Nuget installerar Ocelot med följande kommando:
Skapa två nya asp.net Core 3.1 API-projekt, namngivna web-api-demo1 respektive web-api-demo2. Lösningsstrukturen är följande:
Modifiera Get-metoden för WeatherForecastController-kontrollern för projekten "web-api-demo1" och "web-api-demo2" med följande kod:
demo1 länk: http://localhost:7853/weatherforecast Demo2-länk: http://localhost:7863/weatherforecast
I rotkatalogen för dotnet-gateway-demo-projektet, skapa en ny konfigurationsfil "ocelot.json", enligt följande:
där BaseURL-adressen fylls i med start-URL:en för det aktuella projektet,Fyll i enligt din faktiska situation。
- DownstreamPathTemplate: Den relativa vägen för nedströmstjänsten
- DownstreamScheme: Downstream-tjänstens http-schema
- DownstreamHostAndPorts: Adressen till nedströmstjänsten, om du använder LoadBalancer kan du fylla i flera fält här
- UpstreamPathTemplate: 上游也就是用户输入的请求Url模板
- UpstreamHttpMethod: 上游请求http方法,可使用数组
Gå med i Program.cs CreateHostBuilder
Redigera Startup.cs-filen med följande kod:
Dess huvudkoder är:
Sätt upp ett startup-projekt och starta tre webbprojekt samtidigt, som visas i följande figur:
När installationen är klar, starta och, enligt våra konfigurationsregler, försök komma åt:Inloggningen med hyperlänken är synlig.ochInloggningen med hyperlänken är synlig.Som visas nedan:
Vi lägger till följande konfiguration i ocelot.json-filen, försöker reverse proxy:a denna plats, konfigurationen är följande:
Försök att besöka:Inloggningen med hyperlänken är synlig.
Källkodsnedladdning:
Turister, om ni vill se det dolda innehållet i detta inlägg, snälla Svar
Referensdokumentation:Inloggningen med hyperlänken är synlig.
(Slut)
|