У меня есть php-приложение, содержащее около 50-55 кодовых файлов.Файл с максимальным объемом кода содержит около 1200 строк кода (включая пробелы, табуляции и несколько разрывов строк ...), а остальные файлы кода относительно меньше.
Приложениекод почти в каждом файле представляет собой смесь html, sql и php (то, что вы называете спагетти), за исключением нескольких файлов, которые являются чистыми включаемыми файлами php .... например, файл, содержащий функции, которые необходимы во многих других местах.
Я думал о том, стоит ли реорганизовать это приложение в архитектуру типа mvc.
Теперь я знаю, что приложение mvc предлагает множество преимуществ, таких как простота обслуживания, повторного использования и простота.дальнейшего развития и т. д., но как насчет масштабируемости и производительности - в частности, в данном случае?
Я предполагаю, что, поскольку это небольшое приложение (я так полагаю, как вы думаете, оно достаточно маленькое?), я неПредставьте себе трудные времена с обслуживанием или добавлением еще нескольких функций (максимум), которые могут простоМожно добавить несколько дополнений в существующие файлы или, скажем, добавить максимум 5-10 новых файлов.
Так что я думаю, что не стоит переходить на mvc только для обслуживания.
Насколько я понимаю, вы можете поместить каждый компонент mvc на отдельный сервер, чтобы распределить нагрузку так,чтобы иметь другой сервер, обслуживающий html, базу данных и логику, а также выполнять другую оптимизацию / кеширование, а также увеличить масштаб и производительность приложения mvc.
Я думаю, что даже в небольшом приложении для спагетти мы не можем иметьразличные серверы для HTML, базы данных и т. д. мы можем легко масштабировать без снижения производительности, располагая балансировщиком нагрузки перед веб-серверами, сервером данных и т. д. (Предположим, что возникает ситуация, когда одного сервера недостаточно)
Тем более, что сам по себе код спагетти должен работать лучше, чем mvc, поскольку он не имеет никаких накладных расходов, таких как требование включений, файлов или вызовов функций из файлов, размещенных в папках, принадлежащих другому компоненту mvc.
Итак, учитывая все эти вещи, вы действительно думаетеполезно ли реструктурировать относительно небольшое приложение для спагетти в mvc для масштабируемости и производительности?
Пожалуйста, не говорите мне, что рефакторинг будет полезен в будущем (я знаю, что это поможет и рассмотрит, действительно ли нам нужно добавитьнамного больше кода к существующей кодовой базе), но, пожалуйста, дайте мне четкий ответ на
1) Действительно ли мне нужно преобразовать это приложение в архитектуру mvc для масштабируемости и производительности?
2) Может ли приложение для спагетти, такое как эта шкала, выполнять как минимум 1 миллион запросов в день, половина из которых происходит в какое-то пиковое время?