Хостинг — это… Техническая реализация и что можно улучшить?

Бoлee слoжный вaриaнт, этo кoгдa сeрвис бaзы дaнныx вынoсится нa oтдeльный сeрвeр, тo eсть нaгрузкa нa oбрaбoтку зaпрoсoв к бaзe дaнныx вынeсeнa нa oтдeльный сeрвeр, тeм сaмым рaзгрузив нeпoсрeдствeннo сeрвeр кoнтeнтa и пoчты. 2)
Aрeндa выдeлeннoгo сeрвeрa
Суть идeи тaкoвa, пaкeты пeрexвaтывaются и нaпрaвляются oпять жe в пoрт прoкси сeрвeрa, тoлькo в этoм случae мы бeрeм пoслeдниe 4 бaйтa aдрeсa ipv6, кoтoрыe и eсть уникaльный идeнтификaтoр сaйтa, дaльшe нe сoстaвит трудa oпять зaглянуть в бaзу и нaйти, кудa нaпрaвить этoт зaпрoс ужe пoвeрx ipv4. Eсли вaм eщe нe нaдoeлo всe этo читaть, тo в итoгe мы пoлучим слeдующую картину:
4) Вы встаете перед выбором, что же делать дальше? В принципе нет предела совершенства, давай для начала разделим вашу систему на две части «front-end» и «back-end» (рис. Вернемся же к техническим вопросам. Что делать дальше, это достаточно сложный вопрос, поскольку он завязан, как и на коммерческой части, так и на морально-этической, я думаю это тема отдельной статьи, где можно философствовать над всеми аспектами данного вопроса. «Что можно еще улучшить?» — спросите вы.
С почтой разобрались, чем заняться еще… Например, для всех почтовых протоколов выдать клиентам одно и тоже имя вида mail.domain.ru, все равно же один сервер скажете вы. Давайте подумаем, а как мы можем всем сайтам давать при необходимости отдельный ip адрес. 🙂 Надо прописать все ip к определенным сайтам, весьма не радующее занятие, помимо прописывания в конфигах веб-сервера надо прописывать это и в конфигах самой операционной системы, что даже при некой автоматизации, потом ужасно некрасиво будет выглядеть. То есть для этой цели подойдет любой сервер с большими дисками, в дальнейшем конечно лучше использовать системы хранения данных для надежного хранения почты, если вы будете брать с клиентов деньги за это то вы должны обязательно задуматься о надежном хранении. Второй вариант, это написание своего модуля который будет динамически создавать и кешировать конфигурацию на основе базы данных. Файловую систему можно вынести на другой сервер, например по NFS, и на нем обслуживать cron задания. адресов. Обычный сервер можно превратить в роутер, используя различные системы, такие как ipfw, iptables, pf можно достигнуть похожего результата, я бы сказал даже большего, чем в выше описанном случае. Ftp нет смысла сюда выносить, все же загрузка файлов должна быть ближе к хранилищу и как правило ftp не вызывает проблем ни по диску, ни по процессору, ни по памяти. Правильно, никакое кол-во «back-end» не поможет спасти ситуацию, если нет «front-end» сервера. Для этого надо подняться на уровень выше, на уровень маршрутизирующего оборудования, в то самое место, куда на уровне IP добрался пакет в пределы досягаемости вашей системы, но еще не успел дойти до ваших серверов и у вас есть шанс вмешаться в процесс, куда же направить этот пакет. Так же на этот сервер можно вынести ssh доступ, так как работа этого сервера не связана с работой основного веб-сервера. Кстати, это место достаточно интересное и имеет множество решений. Точно так же можно поступить и с серверами входящей почты, но у вас есть еще один инструмент для управления процессом, куда же доставлять почту идущую на домены ваших клиентов. Imap и pop протоколами немного проще, по сути, они должны жить рядом с достаточно большим хранилищем почты, чтобы не лимитировать клиентов размерами ящиков. Тут у себя мы выбрали немного другое решение, это создание reverse-proxy c хитрым мапингом, суть его сводится к следующем, на роутере создается маршрут для достаточно большой сети, которая направляется на адрес нашего прокси сервера. По такой же аналогии можно вообще раздать всем сайтам IPV6 адреса, наверняка в вашей базе, где хранится список сайтов, у каждого сайта есть свой уникальный числовой идентификатор, как правило, это integer, а это всего лишь 32 бита, для ipv6 это сущая мелочь. То есть использовать промежуточную базу для хранения настроек и обновлять их, если произошли изменения в центральной базе. Более того, имея вышеперечисленные системы, вам будет проще бороться с такой частой проблемой в последнее время, как DDOS(Distributed Denial of Service). Следующим шагом можно разделить протоколы smtp от pop и imap, причем для большей надежности, можно разделить smtp на два отдельных сервера для входящей и исходящей почты. И тут есть тоже варианты, например CRON (планировщик задач для выполнения ваших программ). В случае сервера исходящих сообщений можно использовать указание нескольких ip адресов в dns сервере, и тогда по алгоритму round-robin исходящий сервер клиентом будет выбираться по принципу перебора адресов по круговому циклу, тем самым распределяя нагрузку между серверами. Дальше наш прокси сервер, получая этот пакет, видит куда он направлен, опять же через промежуточно сформированный CDB файл, и определяет на каком из «back-end» находится контент по данному запросу, направляет этот запрос туда и передает ответ клиенту. То есть на все ваши проделки хватит сети /96, 4 млрд. Как пример, если у вас роутер имеет поддержку WCCP (Web Cache Communication Protocol), то можно использовать его для этих целей. И это может тоже вызывать проблему, если не по дискам, так по памяти или процессору, что может помешать выдачи контента с веб-сервера. Если стало опять скучно, то можно заняться модернизацией «back-end» серверов. Тут можно позволить клиентам пользоваться различными программами, которые вы раньше не позволяли использовать, например различные компиляторы. Когда вы справились с вышеописанной задачей, то можно выбрать еще что-то. Тут тоже не стоит особо увлекаться, так как если выбрать базу данных mysql или pgsql, можно будет парализовать или их работу или в случае их поломки парализовать работу сайтов, тут лучше использовать или BDB или CDB. Если же к этому еще и подключить, например CARP (Common Address Redundancy Protocol), то можно сделать дубль такого сервера, в случае выхода из строя одного сервера, работу подхватит другой, тем самым увеличив надежность системы в целом. Этот параметр MX тип записи в dns, который указывает на mail-exchange сервера, которые обслуживают почту для домена. Так как вы не допустите попадания негативного трафика на основные сервера системы, тем самым защитив их. Если же связь с «front-end» утеряна, то роутер направляет запросы напрямую на один или множество «back-end», все зависит от вашего желания и типа настроек. Значит нужно предусмотреть какой-то альтернативный вариант для такого случая. Все запросы приходят на «front-end» и дальше этим сервером распределяются между остальными «back-end» серверами.
4) (рис.
Хостинг — это…Многие, начинающие пользователи сети интернет рано или поздно приходят к вопросу — «А что такое хостинг?». В этой статье мы ответим на этот вопрос, и опишем стандартные решения Хостинга, которые существуют на данный момент, а также расскажем о том, как это устроено в нашей компании — ЗАО «Хостинговые Телесистемы»

Виртуальный выделенный сервер (или VPS, он же VDS)
Еще сложнее система, это когда все основные сервисы разнесены по отдельным физическим серверам не мешая друг другу в работе. 3) (рис.

По-простому — это место, где лежат сайты. Хостинг — это техническая площадка для размещения сайтов, предоставляемая специализированными Хостинг компаниями. Услуги Хостинга можно разделить на:
Первый вариант создания хостинга, это взять обычный сервер и разместить все сервисы на нем, в большинстве случаев это типовое решение для нескольких сайтов, не требует много затрат, все сервисы размещены вместе, такие как: веб сервер, сервер баз, почтовая система. (рис. 1)
Виртуальный Хостинг (или просто Хостинг)
Минусы такой схемы работы в том, что свободный доступ в такие Центры ограничен, и если что-то сломалось нужно выписывать пропуск, ехать туда, решать проблему самостоятельно. Крайне важным является круглосуточная и адекватная поддержка хостинга, чтобы можно было в любой момент позвонить, списаться, и решить возникшие проблемы сейчас, а не утром в понедельник. Обычно, для большинства, первым фактором является, конечно, цена услуги. И после этого зададимся вопросом о качестве предоставляемых услуг хостинга, и подходе хостинговой компании к реализации хостинга. Все это увеличивает время простоя сайтов, как следствие отрицательно отражается на seo-продвижении и неэффективности рекламной кампании или SMM проводимых в данный период. Соответственно привлекательность предоставляемых услуг виртуального хостинга такими компаниями снижается. А теперь, давайте рассмотрим технические варианты реализации хостинга: Многие компании, не имеющие собственного Дата-центра, арендуют оборудование в крупнейших Дата-центрах Москвы или Санкт-Петербурга. Чем могут различаться Хостинговые компании, на что стоит обратить внимание при выборе?

Ко всем нашим ресурсам стоит добавить новые системы, системы мониторинга, которые, кстати, тоже требуют слежения за собой. Хотя конечно уже все лучше, если вдруг вас завалит Спамом, и почтовый сервер не выдержит, сайт(ы) будут работать как и раньше, это им не помешает. На этом примере я показал, что при большом количестве запросов к базе данных, накладные расходы, как бы не заметные в большинстве случаев, вызывают очень большую проблему. Суть его в том, что пришедший запрос на веб-сервер порождает запрос к базе данных, который по разным причинам может выполняться достаточно долгое время, при этом потребляя достаточно большое количество ресурсов системы в целом. Из всех выше перечисленных систем есть свои минусы и плюсы. 1) запросы могли бы выполняться раз в 10 быстрей, так как было бы затрачено гораздо меньше сетевых служб, так как запросы проходили напрямую через сетевой стек операционной системы. Второй вариант (рис. Да соглашусь, при небольшом количестве сайтов и не большой активности на них у вас все будет работать штатно, и вы можете спать спокойно. Третий вариант (рис. Например, на рис. Предположим на сервер начинают поступать множество запросов, которые заставляют сервер генерировать динамический контент, причем для создания контента требуется задействовать ресурсы базы данных, так вот в этом случает при плохой разработке может случиться весьма неприятный казус. Если страница сайта будет открываться более, чем нескольких секунд, вероятней всего посетитель покинет сайт. На первый взгляд жизнь налаживается, но, увы, это еще не все сюрпризы, чем больше становится клиентов, тем больше нагрузка на системы, и может случиться так, что одного сервера баз данных будет недостаточно, необходима установка нового. Вы можете подумать, как же легко сделать систему для хостинга сайтов, больших затрат не нужно. Как у нас принято иногда говорить: «На таких серверах можно жарить яичницу» 🙂 В Интернете достаточно много свободных или платных систем управления серверами, которые позволяют не вдаваться в тонкости системного администрирования. В итоге работа всего сервера будет парализована, и даже пользователи который запросят контент не связанный с динамической конфигурацией могут его и не получить из-за перегруженной системы в целом. 3), кажется вообще идеалом совершенства, но обратите внимание, администратору надо контролировать уже три сервера, у каждого из которых могут быть свои проблемы, которые могут повлиять на работу всего комплекса.

Комментирование и размещение ссылок запрещено.

Комментарии закрыты.