Leave a comment

coroner_spb May 17 2013, 19:16:49 UTC
научным, так научным. есть большое ЖЖ. он состоит из скопления серверов, объединеных в некие сообщества-кластеры. кластеры имеют свое деление: 1) сервера распределения нагрузки.они следят за нагрузкой серверов и перенаправляют ваши запросы на менее нагруженные серверы.специально обзывать не буду, но обзовем их NX 2) сервера, которые обрабатывают статичный контент или контент, который обрабатывает браузер(css, html, javascript, рисунки). грубо говоря, это просто файловые сервера, которые заточены под отдачу. обзываются они front-end серверы 3) сервера баз данных. тут хранятся все посты, каменты, ссылки на рисунки, даты, ссылки и прочий контент, который генерят пользователи. эти серверы работают и на отдачу контента и на запись. по сути это главное хранилище 4) сервера обработки данных. эти сервера занимаются логикой ЖЖ. они не хранят информацию, но они обрабатывают множество процессов. например, вы решили авторизоваться: ввели логин и пароль и нажали кнопку "вход". сервер принимает ваш логин и пароль, анализирует введеные вами данные по некоторым алгоритмам(например откидывает спецсимволы, такие как #,&,?,запятую и тд) в логине, сверяют пароли по нескольно иным алгоритмам, просят базу данных "SELECT password_salt, password_hash FROM users_db WHERE user_login='user'", что на русский язык переводится примерно как "о великий Сервер Базы Данных, дай мне ответ, каков хэш пароля и соль пароля у пользователя user". что такое хэш и соль отдельная песня, считайте, что 2 этих штуки и есть ваш пароль. далее, опосля получения пароля от базы данных(БД) сервер сравнивает его с тем, что ввели вы и решает(raptor_mem.jpg) достойны ли вы входа на ЖЖ(на самом деле много больше инфы запрашивается, но это же пример:))обзываются back-end 5) сервера, которые отделяют зерна от плевел, то бишь разруливают back и front. их может и не быть(я не эксперт в строении ЖЖ), а их роль могут играть серверы из п.1.
более низкий уровень детализации заключается в том, что у каждого из пунктов есть свой сервер, который отруливает нагрузку на конечный сервер(конечный кампухтер) по принципу п.1.этот же(может и отдельный, я опять же не в курсе за ЖЖ) сервер следит за тем, чтобы на всех серверах этой подгруппы были одинаковые данные. на этом этапе выход из строя 1 физической железки не страшен: Главный Сервер этой подгруппы следит за живучестью железки и доступностью данных от него и сам разруливает кому отдать приоритет. бывает шит хаппенс и главный отдает запросы не тем и не туда. тут пороть конечных одминов надо, которые неграмотно таймауты в конфигах ставят и тд и тп.
кажная железяка имеет от 1 до бесконечности накопителя. обзываются они RAID. рэйды бывают разными. и зеркала и страйпы и зеркала со страйпами. здесь я вааще мог бы выебать мозг, но не буду.
а теперь конечная кортинко обустройства уютненькой.
в браузере набрали ЖыЖэ. опущу моменты работы ДНС серверов, работу провайдеров. запрос дошел до Главного Руля ЖЖ. ГР позырил где у нас tema и сказал фас на этот Локальный Руль(рулит локальной солнечной системой). ЛР позырил на запрос и позырил а чо у нас есть статичного, на всяк случай проверим аусвайс(это ежели нет п.5), задействовав БЭ+БД, потом пнут ЛР на предмет чо там нащет статичного контента и вот прожевав это все ЛР вам выплюнет нужную страничку. вы сказали "заебизззззь" и давай каментить. нажали кнопь "запостить". ЛР послал вас..ну а кудой он сможет вас послать то?тока в бек-энд. БЭ децл подумает, посовещается с БД(raptor_mem.jpg) и напинают по яйцам(зачоркнута) и решают опубликовать очередной высер(зачоркнута) камент и отправляют ЛР просьбу. матом или нет я не в курсе, но nginx напейсал Игорь Сысоев. дык шта может и матом и по-Казахски:)в общем просят: насяльника мы те динамический кантентама сделали-отдай статискекая кантентама закасчику:)тут ЛР приккидывает хуй к носу, почешет продукцию ООО "Фаберже" и херак-таки выдал страничку:))якуты кричат ура и мочат кита:)

Reply


Leave a comment

Up