Я изучаю тему масштабирования и обнаружил нечто, называемое промежуточным программным обеспечением, которое в основном обрабатывает запросы, верно? Если это правда, то что такое промежуточное ПО в стеке LAMP? Это же Апач? Как я могу даже проверить, что обрабатывает мои запросы? Я хочу узнать больше о стеке LAMP и масштабировании, и уже прочитал много вопросов по SF, но я действительно не знаю, какие вопросы задать, так что может ли кто-нибудь просто бросить на меня мегатонну знаний или указать мне к нужным ресурсам, это было бы здорово!
TL; DR: я хочу узнать больше о стеке LAMP и масштабировании стека LAMP, но не знаю, с чего начать. Я новичок.
Редактировать:
Я также читал это:
http://people.apache.org/~sctemme/ApconUS2007/scalingout.pdf
http://people.apache.org/~sctemme/ApconEU2006/FR4/FR4_Performance_Up.pdf
Что такое промежуточное ПО в типичном стеке Debian LAMP?
Ничего. Шутки в сторону. Стек TYPICAL LAMP похож на стандартный стек Windows - на количество развертываний: Одна машина. Затем перенос базы данных на отдельную машину, перед кластером с балансировщиком нагрузки. Нет промежуточного программного обеспечения.
«ПО промежуточного слоя» - это очень общий термин, который часто описывает разные вещи в разных контекстах.
Как я могу даже проверить, что обрабатывает мои запросы?
Apache, PHP и mysql - это стек компонентов, работающих поверх операционной системы (или, возможно, нескольких операционных систем) - на этикетке не указаны файловые системы, которые также являются важной частью стека. Разные запросы будут обрабатываться на разных уровнях стека. Apache не будет обрабатывать запросы MySQL (но может кэшировать страницы, содержащие их результаты). Журналы приложений - это место, с которого можно начать поиск.
Я хочу узнать больше о стеке LAMP и масштабировании стека LAMP, но не знаю, с чего начать
На самом деле это неплохая отправная точка - это серьезная тема, и даже люди, считающие себя экспертами, часто ошибаются. Я работаю с системами на основе LAMP уже 10 лет и все еще учусь новому. Это то же самое, что и любой процесс обучения - читайте как можно больше и экспериментируйте. Рассмотрение других архитектур помогает увидеть ту, которая вас интересует, в перспективе.
В случае стека LAMP масштабируемость в основном связана с уровнем хранения, то есть репликацией / объединением MySQL и файловой системой (совместно используемые файловые системы, сетевые файловые системы, реплицированные файловые системы).
«Обработка запросов» - это слишком общее понятие, каждый компонент в стеке LAMP обрабатывает запросы того или иного вида.
Непонятно, что именно вы ищете, возможно статья в Википедии о промежуточном программном обеспечении может немного помочь вам на вашем пути?
Типичным промежуточным программным обеспечением являются серверы приложений, такие как JBoss, Сервер приложений WebSphere или веблогик. Другой пример - система обмена сообщениями вроде IBM WebSphere MQseries.
Apache обычно не считается промежуточным программным обеспечением, но в случае приложения PHP он может соответствовать описанию.
В M ysql в LAMP - это уровень базы данных и обычно не считается промежуточным ПО. Но если вам нужно подумать о масштабировании, это тоже важный уровень, на который стоит обратить внимание.