Ocelot is een open-source API-gateway geïmplementeerd in .NET Core, die krachtig is en routing, verzoekaggregatie, serviceontdekking, authenticatie, authenticatie, stroombeperkende circuit breaker en ingebouwde load balancer-integratie met Service Fabric en Butterfly Tracing bevat. Deze functies hoeven alleen eenvoudig te voltooien zijn, en we zullen de configuratie van deze functies één voor één uitleggen.
Natuurlijk hebben Java-projecten ook gateways, Spring Cloud Gateway is het nieuwe gateway-framework van Spring Cloud, voorheen Netflix Zuul.
Maak eerst een leeg project aan ASP.NET Core 3.1 met de naam: dotnet-gateway-demo
Nuget installeert Ocelot met het volgende commando:
Maak twee nieuwe asp.net Core 3.1 API-projecten, respectievelijk web-api-demo1 en web-api-demo2 genoemd. De oplossingsstructuur is als volgt:
Pas de Get-methode van de WeatherForecastController-controller van de "web-api-demo1" en "web-api-demo2" projecten aan met de volgende code:
demo1 link: http://localhost:7853/weatherforecast Demo2 link: http://localhost:7863/weatherforecast
Maak in de rootmap van het dotnet-gateway-demo project een nieuw configuratiebestand "ocelot.json" aan, als volgt:
waarbij het BaseUrl-adres wordt ingevuld met de lancerings-URL van het huidige project,Vul in volgens je werkelijke situatie。
- DownstreamPathTemplate: Het relatieve pad van de downstream-dienst
- DownstreamScheme: Het downstream service http-schema
- DownstreamHostAndPorts: Het adres van de downstream-dienst, als je LoadBalancer gebruikt, kun je hier meerdere velden invullen
- UpstreamPathTemplate: 上游也就是用户输入的请求Url模板
- UpstreamHttpMethod: 上游请求http方法,可使用数组
Doe mee aan Program.cs's CreateHostBuilder
Bewerk het Startup.cs-bestand met de volgende code:
De belangrijkste codes zijn:
Zet een startupproject op en start tegelijkertijd met 3 webprojecten, zoals te zien is in de volgende figuur:
Zodra de installatie klaar is, start je en probeer volgens onze configuratieregels toegang te krijgen:De hyperlink-login is zichtbaar.enDe hyperlink-login is zichtbaar.Zoals hieronder getoond:
We voegen de volgende configuratie toe aan het ocelot.json bestand, proberen deze site te reverse proxyen, de configuratie is als volgt:
Probeer te bezoeken:De hyperlink-login is zichtbaar.
Broncode downloaden:
Toeristen, als jullie de verborgen inhoud van dit bericht willen zien, alsjeblieft Antwoord
Referentiedocumentatie:De hyperlink-login is zichtbaar.
(Einde)
|