Ocelot to otwartoźródłowa brama API zaimplementowana w .NET Core, która jest potężna i obejmuje routowanie, agregację żądań, odkrywanie usług, uwierzytelnianie, uwierzytelnianie, wyłącznik ograniczający prąd oraz wbudowaną integrację load balancera z Service Fabric i Butterfly Tracing. Te funkcje muszą być proste do wykonania, a my wyjaśnimy ich konfigurację pojedynczo.
Oczywiście, projekty Java również mają bramy, Spring Cloud Gateway to nowy framework bramowy Spring Cloud, wcześniej znany jako Netflix Zuul.
Najpierw stwórz pusty projekt ASP.NET Core 3.1 o nazwie: dotnet-gateway-demo
Nuget instaluje Ocelota za pomocą następującego polecenia:
Stwórz dwa nowe projekty API asp.net Core 3.1, nazwane odpowiednio web-api-demo1 i web-api-demo2. Struktura rozwiązania wygląda następująco:
Zmodyfikuj metodę Get kontrolera WeatherForecastController projektów "web-api-demo1" i "web-api-demo2" za pomocą następującego kodu:
Demo1 link: http://localhost:7853/weatherforecast Link do Demo2: http://localhost:7863/weatherforecast
W katalogu głównym projektu dotnet-gateway-demo utwórz nowy plik konfiguracyjny "ocelot.json", w następujący sposób:
gdzie adres BaseUrl jest wypełniony URL-em startowym bieżącego projektu,Uzupełnij to zgodnie ze swoją sytuacją。
- DownstreamPathTemplate: Względna ścieżka usługi downstream
- DownstreamScheme: Schemat http usługi downstream
- DownstreamHostAndPorts: Adres usługi downstream, jeśli używasz LoadBalancer, możesz wypełnić wiele pól tutaj
- UpstreamPathTemplate: 上游也就是用户输入的请求Url模板
- UpstreamHttpMethod: 上游请求http方法,可使用数组
Dołącz do CreateHostBuilder Program.cs
Edytuj plik Startup.cs za pomocą następującego kodu:
Główne kody to:
Załóż projekt startowy i rozpocznij jednocześnie 3 projekty webowe, jak pokazano na poniższym rysunku:
Po zakończeniu konfiguracji uruchom i, zgodnie z naszymi zasadami konfiguracji, spróbuj uzyskać dostęp na:Logowanie do linku jest widoczne.iLogowanie do linku jest widoczne.Jak pokazano poniżej:
Dodajemy następującą konfigurację do pliku ocelot.json, próbujemy odwrócić proxy tej strony, konfiguracja wygląda następująco:
Spróbuj odwiedzić:Logowanie do linku jest widoczne.
Pobranie kodu źródłowego:
Turyści, jeśli chcecie zobaczyć ukrytą zawartość tego wpisu, proszę Odpowiedź
Dokumentacja referencyjna:Logowanie do linku jest widoczne.
(Koniec)
|