проблемки..... У лары все просто - клонируется один контейнер и все request scoped сервисы попадают в форк, который потом убивается. У меня есть контейнер ядра и в репозитории модулей у каждого приложения свои изолированные контейнеры, которые могут обращаться к контейнеру ядра для получения корневых сервисов. Сейчас я думаю сделать событие, в котором будут также создаваться форки всех приложений, это затратно по времени, но более безопасно. Какие то сервисы могут хранить у себя объекты scoped сервисов и никак туда не пролезть (понятно что я не буду их хранить, но другие по незнанию будут). Оборачивать сами сервисы нельзя (нарушатся интерфейсы), Можно попробовать для scoped сервисов использовать обертки фабрики, тогда при форке ядра они могут обновлять сами сервисы. Есть какое то элегантное решение такого вопроса, кроме клонирования всех контейнеров приложений?
Как одно из решений: клонирование сервиса модульности и повторная загрузка необходимых приложений для обработки запроса. Решение увеличивает использование памяти, но самое простое. Как это будет работать при одновременном соединении на 1000 запросов не буду представлять... пока лучше ничего в голову не пришло. Всем спасибо!
Обсуждают сегодня