#asp.net-mvc #docker #asp.net-core #signalr #background-service
Вопрос:
Не совсем уверен, как задать этот вопрос или является ли это правильным подходом. Таким образом, я узнаю все о докере, контейнерах и т. Д. Из того, что я прочитал, это отлично подходит для создания отдельных различных микросервисов, которые выполняют различные задачи, такие как BasketService, CartService и т. Д., Каждый из которых может содержаться в собственном контейнере docker на виртуальной машине, и я думаю, что URL-адреса, вызываемые из моего пользовательского интерфейса (если они размещены на виртуальной машине Linux), будут чем-то вроде https://MyLinuxVM/BasketService/{контроллер}.
Мой Вопрос:
Теперь предположим, что у меня есть только 1 услуга. Мы будем называть его MyService, у которого должно быть несколько экземпляров. Таким образом, у меня может быть 4 экземпляра, т. е. MyService1, MyService2, MyService3, MyService4. Все совершенно одинаковые. Со стороны моего клиента было бы правильным следующее предположение?
- Я могу позвонить https://MyLinuxVM/MyService1/{контроллер} или https://MyLinuxVM/MyService2/{контроллер} для отправки в конкретный экземпляр контейнера?
Почему?:
Я чувствую, что это может помочь объяснить, почему я это делаю, и, возможно, поможет всем понять мою проблему в первую очередь. У меня есть 4 физических устройства, с которыми мне нужно общаться. Мы будем называть их Device1, Device2, Device3, Device4. Каждое устройство имеет свой собственный IP-адрес и свой собственный набор «Инструментов», подключенных к нему на различных портах устройства (10-20 портов на устройство).
В нашем пользовательском интерфейсе пользователи могут нажать кнопку, которая устанавливает некоторые значения крутящего момента для инструмента в их руках, отправляя данные в серверную часть MVC, которая отправляется «Правильному» фоновому работнику/контейнеру, который затем преобразует данные в байт[] и передает их на свое выделенное устройство. Я не уверен, нужно ли мне несколько фоновых рабочих в одном контейнере или просто один настраиваемый контейнер с одним фоновым рабочим, который развертывается несколько раз в зависимости от количества устройств, которые у нас работают в магазине.
Я много читал о создании различных рабочих служб, выполняющих разные задачи, но мне нужно несколько экземпляров рабочей службы, которые можно настроить (предпочтительно из таблиц БД) для отправки на определенное устройство.
Изображение для получения дополнительной информации / визуальное:
Комментарии:
1. Две большие вещи, которые бросаются мне в глаза, заключаются в том, что (а) Docker вообще не имеет дела с путями URL-адресов [вы можете предоставить свой собственный обратный прокси-сервер, но Docker не упрощает и не усложняет эту настройку] и (б) Контейнеры Docker обычно не имеют доступа к аппаратным устройствам. Вы можете запустить описанную вами настройку с докером или без него, и Докер может помочь в некоторых механизмах развертывания, но это не очевидно правильно или неправильно.