Как я могу создавать процессы в микросервисной архитектуре или достичь аналогичного дизайна - PullRequest
0 голосов
/ 06 ноября 2018

В настоящее время у меня есть веб-приложение MVC, которое размещено на IIS на сервере Windows в Azure. На той же виртуальной машине у меня также есть консольное приложение (MyConsoleApp.exe).

Веб-приложение знает о местонахождении MyConsoleApp.exe. Через веб-приложение я могу создавать и уничтожать процессы. Каждый раз, когда я создаю процесс через пользовательский интерфейс, веб-приложение создает новый процесс, выполняющий MyApplication.exe. Информация о процессе заносится в базу данных SQL (PID и GUID), а затем через пользовательский интерфейс я могу решить убить процесс или получить информацию, которую записало каждое консольное приложение.

На диаграмме ниже показана архитектура с 3 процессами, созданными с помощью консольного приложения. N число процессов может быть создано. Это всего лишь пример.

enter image description here

Я хотел бы преобразовать свои приложения в микросервисы с использованием ядра .net, а также заменяю SQL на Mongo.

У меня вопрос: как я могу заменить часть, где я создаю отдельные процессы через веб-приложение? Веб-приложение как микросервис будет работать в своем собственном контейнере. Я думал об удаленном раскручивании контейнеров, чтобы имитировать то, что в настоящее время делает каждый процесс, но это звучит ужасно.

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

Мое видение примерно такое, но часть процессов беспокоит меня.

enter image description here

1 Ответ

0 голосов
/ 06 ноября 2018

Такого рода вещи обычно выполняются путем раскручивания рабочих в конце очереди. Это подробно описано в справочной архитектуре Microsoft , в которой говорится о приложениях функций .

...