Сегодня мы узнаем об архитектуре микросервисов и ее реализации с использованием Ocelot API Gateway в ASp.Net Core - 3.1. Все мы знаем о преимуществах использования микросервисов для крупномасштабных приложений.



Микросервисная архитектура - Обзор

Есть два возможных способа создания и структурирования приложений:

  1. Монолитная архитектура
  2. Архитектура микросервисов

Монолитная архитектура

Монолит похож на большой контейнер, в котором все программные компоненты приложения собраны и тесно связаны; т.е. каждый компонент полностью зависит от другого. У Монолита есть свои достоинства и недостатки. По сравнению с микросервисами преимущества монолитной архитектуры меньше.

Недостатки Монолита:

Медленное развитие

Если мы изменяем какой-либо модуль или любой компонент, нам нужно повторно развернуть все приложение, а не обновлять его часть. Это занимает больше времени при медленной разработке.

Ненадежно

Если одна служба выходит из строя, все приложение перестает работать, потому что все службы приложения подключены друг к другу.

Большие и сложные приложения

Для крупномасштабных приложений его сложно поддерживать, потому что они зависят друг от друга.

Он потребляет больше памяти, при этом каждый компонент будет обращаться ко всем данным, и это увеличивает потребление памяти, а также перестраивает приложение. В дополнение к этому нам нужно изменить все приложение, и это немного усложняет процесс.

Архитектура микросервисов

Архитектура микросервисов - это метод, который дает современным разработчикам возможность разрабатывать высокомасштабируемые и гибкие приложения путем декомпозиции приложения на отдельные сервисы, реализующие определенные бизнес-функции. Эти службы, часто называемые «слабосвязанными», можно создавать, развертывать и масштабировать независимо.

Настройка проекта

Создайте пустое решение

Создайте новую папку решения с именем Microservices

Щелкните правой кнопкой мыши папку микросервисов

Нажмите на Добавить

Нажмите "Новый проект".

Создайте микросервис для клиентов

Введите название проекта

Выберите API в качестве шаблона, и мы будем использовать версию .Net Core 3.1.

Нажмите на "Создать"

Создайте микросервис продукта

Следуйте тому же процессу, что и для микросервиса клиентов.

Создайте API-шлюз

Выберите «Пустой» в качестве шаблона с той же версией .Net Core 3.1.

Структура папки

Настройка шлюза Ocelot API

Так работает Ocelot API Gateway в нашем проекте.

Чтобы узнать об Ocelot и его функциях, перейдите по этой ссылке Ocelot API Gateway.

Установите пакет под шлюзом .WebAPI

Установочный пакет Ocelot

Добавьте параметры конфигурации в автозагрузку. CS

Startup.cs

Создайте файл configuration.Json в Gateway.WebAPI для определения маршрутов, необходимых для микросервисов.

configuration.Json

DownstreampathTemplate - определяет маршрут фактической конечной точки микросервиса.

DownstreamScheme - схема микросервиса, HTTPS

DownstreamHostsandPorts - здесь определяется хост и порт микросервиса.

UpstreampathTemplate - путь, по которому клиент будет запрашивать шлюз API Ocelot.

UpstreamHttpmethod - поддерживаемые методы HTTP для шлюза API. На основе входящего метода Ocelot также отправляет аналогичный запрос HTTP-метода микросервисам.

Давайте протестируем приложение, и оно будет работать под номером порта Gateway.WebAPI, который мы уже определили в файле configuration.json.

launchsettings.json (API шлюза)

Перед тестированием приложения убедитесь, что вы запускаете несколько проектов за один раз.

Щелкните правой кнопкой мыши решение

Нажмите на свойства

Запустите проект, чтобы проверить результаты.

Вывод

Микросервис продукта - конечная точка

Клиентский микросервис - конечная точка

Примечание

Я также реализовал Swagger для проверки результатов отдельных микросервисов.

Если вы обнаружили, что эта статья вам помогает, поставьте

Продолжай учиться!!!