Я работаю над платформой, на которой размещаются небольшие Java-приложения, все из которых в настоящее время используют один поток, живут в движке Docker, потребляют данные с сервера Kafka и регистрируются в центральной БД.
СейчасМне нужно поставить другое приложение Java на этой платформе.Это приложение под рукой использует многопоточность относительно интенсивно, я уже проверил его в контейнере Docker, и оно отлично работает там, поэтому я готов развернуть его на платформе, где оно будет масштабироваться вручную, то есть какой-то человек определит числоконтейнеров, которые должны быть запущены, каждый из которых содержит экземпляр этого приложения.
Мой архитектор возражает, говоря: «В распределенной среде мы никогда не используем многопоточность».Итак, теперь я должен реорганизовать свое приложение, исключив из него любую логику, связанную с потоками, сделав его однопоточным.Я попросил у него более подробные рассуждения, но он кричит: «Если вы не знаете об этом принципе, вам не место рядом с Java».
Действительно ли ошибка использовать многопоточное приложение Java в распределенномсистема - простой кластер с десятью или двадцатью физическими машинами, каждая из которых содержит несколько виртуальных машин, на которых затем запускаются контейнеры Docker с приложениями Java внутри них.
Честно говоря, я не вижу проблемы многопоточности внутриконтейнер.Это действительно ошибка или как-то «запрещено»?
Спасибо.