Ищем мнения о модульности веб-приложений. Уже большинство приложений, независимо от языка, имеют внутреннюю базу данных и поддерживают привязки к соответствующим серверам веб-приложений (Apache, IIS, Lighttp и т. Д.), Но многие разработчики, с которыми я сталкивался, сталкиваются с проблемами при использовании Memcached или чего-либо еще вне непосредственного пространства процесса веб-приложения.
Является ли модульность веб-приложения чем-то хорошим, как я полагаю, или я чего-то упускаю, что заставляет всех, от старших разработчиков до технических директоров, колебаться, вытесняя определенные части бизнес-логики из Интернета? конец и в специализированные серверные службы?
Например, несколько лет назад меня подстрелили на совещании по разработке проекта для сайта с очень высоким трафиком, когда я предложил вырвать логику ACL с интенсивным процессом из среды интерфейса и превратить ее в полукластеризованный сервис. приложение в бэкэнде. Для меня преимуществами стали более четкое разделение кода и возможность многократного использования логики ACL с использованием REST / JSON в качестве моста между, скажем, PHP и Python.
Разработчики, которые не согласились с моей идеей, утверждали, что это "слишком сложно", но я просто не мог понять, как? Мои аргументы состоят в том, что так же, как может существовать суп тегов для уровня представления, может существовать и часто есть логический суппорт кода, который настолько сплетен, что в случае возникновения проблемы может быть почти невозможно выполнить «хирургическое» исправление.
Таким образом, чтобы сократить это, каковы преимущества и недостатки разделения больших приложений на независимые, но совместные процессы (не потоки или подзапросы). MySQL, Memcache, похожий сервисный процесс - это здорово ... но почему не что-то еще? Как идти по этому пути "слишком сложно"?