Ocelot — це відкритий API-шлюз, реалізований у .NET Core, який є потужним і включає маршрутизацію, агрегацію запитів, виявлення сервісів, автентифікацію, автентифікацію, вимикач обмеження струму та вбудовану інтеграцію балансування навантаження з Service Fabric і Butterfly Tracing. Ці функції мають бути простими для завершення, і ми пояснимо конфігурацію цих функцій одну за одною.
Звісно, у Java-проєктах також є шлюзи, Spring Cloud Gateway — це новий фреймворк Spring Cloud, раніше Netflix Zuul.
Спочатку створіть порожній проєкт ASP.NET Core 3.1 з назвою: dotnet-gateway-demo
Nuget встановлює Ocelot за допомогою наступної команди:
Створіть два нових asp.net проєкти API Core 3.1, відповідно web-api-demo1 та web-api-demo2. Структура розв'язку виглядає так:
Модифікуйте метод Get контролера WeatherForecastController проєктів "web-api-demo1" та "web-api-demo2" за допомогою наступного коду:
посилання на demo1: http://localhost:7853/weatherforecast Посилання на Demo2: http://localhost:7863/weatherforecast
У кореневому каталогу проєкту dotnet-gateway-demo створіть новий конфігураційний файл "ocelot.json", наступним чином:
де адреса BaseURL заповнюється URL запуску поточного проєкту,Заповнюйте їх відповідно до вашої реальної ситуації。
- DownstreamPathTemplate: Відносний шлях низхідної служби
- DownstreamScheme: DownstreamScheme http-схема сервісу
- DownstreamHostAndPorts: Адреса даунстрім-сервісу, якщо ви використовуєте LoadBalancer, тут можна заповнити кілька полів
- UpstreamPathTemplate: 上游也就是用户输入的请求Url模板
- UpstreamHttpMethod: 上游请求http方法,可使用数组
Приєднуйтесь до CreateHostBuilder Program.cs
Відредагуйте Startup.cs файл наступним кодом:
Її основні коди такі:
Налаштуйте стартовий проєкт і почніть одночасно 3 веб-проєкти, як показано на наступній ілюстрації:
Після завершення налаштування запускайте і, згідно з нашими правилами конфігурації, спробуйте отримати:Вхід за гіперпосиланням видно.іВхід за гіперпосиланням видно.Як показано нижче:
Додаємо таку конфігурацію до ocelot.json файлу, намагаємося зробити зворотний проксі цього сайту, конфігурація виглядає так:
Спробуйте відвідати:Вхід за гіперпосиланням видно.
Завантаження вихідного коду:
Туристи, якщо ви хочете побачити прихований контент цього допису, будь ласка Відповідь
Довідкова документація:Вхід за гіперпосиланням видно.
(Кінець)
|