В настоящее время у меня есть веб-приложение MVC, которое размещено на IIS на сервере Windows в Azure. На той же виртуальной машине у меня также есть консольное приложение (MyConsoleApp.exe).
Веб-приложение знает о местонахождении MyConsoleApp.exe. Через веб-приложение я могу создавать и уничтожать процессы. Каждый раз, когда я создаю процесс через пользовательский интерфейс, веб-приложение создает новый процесс, выполняющий MyApplication.exe. Информация о процессе заносится в базу данных SQL (PID и GUID), а затем через пользовательский интерфейс я могу решить убить процесс или получить информацию, которую записало каждое консольное приложение.
На диаграмме ниже показана архитектура с 3 процессами, созданными с помощью консольного приложения. N число процессов может быть создано. Это всего лишь пример.
Я хотел бы преобразовать свои приложения в микросервисы с использованием ядра .net, а также заменяю SQL на Mongo.
У меня вопрос: как я могу заменить часть, где я создаю отдельные процессы через веб-приложение? Веб-приложение как микросервис будет работать в своем собственном контейнере. Я думал об удаленном раскручивании контейнеров, чтобы имитировать то, что в настоящее время делает каждый процесс, но это звучит ужасно.
Не могли бы вы предложить архитектурное решение или проект, который я мог бы рассмотреть для реализации?
Мое видение примерно такое, но часть процессов беспокоит меня.