Архитектурная концепция новостийного сайта. Зацените.
От: VetalB  
Дата: 10.01.08 11:40
Оценка:
Здравствуйте!

Тут начальник сисадминистраторов предложил архитектурную концепцию новостного сайта. И по этой концепции нужно будет разработать новостийный сайт. Зацените, пожалуйста, концепцию, и подскажите, что хорошо, что плохо, и стоит ли вообще делать таким образом. Может, следует применить другую концепцию?

Для начала, дам определение, что такое новостной сайт для нас. Это сайт, содержащий преимущественно контент только для чтения. Грубо говоря, лента новостей, которая постоянно дополняется, по щелчку переходишь на текст новости. Сайт малоинтерактивен для конечного пользователя (должны быть формы комментирования материалов, голосования, различные анкеты, и это все). Сайт должен выдерживать хорошую нагрузку (десятки-сотни запросов в секунду в пиковые моменты).

Идея следующая. Архитектура состоит из кластеров бэкендов и фронтэндов. Бэкенды содержат компоненты, которые отдают результат в виде xml. Фронтэнды запрашивают xml у бэкенд-компонентов через протокол HTTP, затем фронтенды на результирующие xml накладывают xsl и собирают конечные страницы из полученных html-фрагментов. Фактически, бекэнд-компоненты будут веб-сервисами. См. рис.2.

Бэкенды не генерят xml при каждом запросе, а используют кеширование результирующих xml на кластере серверов memcached. Только если результирующий xml в memcached устарел, бекэнд генерит новый xml и ложит его в кеш memcached, иначе отдает ячейку memcached. Данные тоже ложатся в кеш memcached. См. рис.1.

Бекэнд компоненты должны разрабатываться независимыми от других. Тогда это даст хорошее масштабирование. Можно рамещать один компонент на сервер. Можно несколько. Один и тот же компонент можно размещать на нескольких серверах и т.д. Кроме того, системный сбой одного из компонентов (например, утечка памяти) не повлечет за собой падения всей системы.

Для производительности кеша используется кластер серверов с установленным memcached. Кроме того, memcached позволяет хранить что угодно — как java объекты, так и произвольные данные. Поэтому с memcached можно использовать как java, так и .NET, php, perl и т.д. (можно даже заказать часть сайта на аутсорсинг на другой технологии). Если же использовать java-кеши внутри процессов java virtual machine (jvm), то мы сможем использовать только java-технологии для backend-компонентов. Кроме того, memcached является дистрибутивным кешом, вынесен на отдельные сервера, и не находится внутри процессов jvm. Поэтому если что-то случится с кешом (например, закончится память), то jvm-процесс с java-сервером не упадет.

Ведущая платформа для сайта — java.

Данная архитектура, как утверждает начальник сисадминов, используется на сайте cnn.com в течение уже многих лет, доказала свою эффективность и ни разу не была изменена.

Зацените, пожалуйста, эту архитекутуру, и дайте советы, какая архитектура будет все же наиболее эффективная для новостийного сайта. Предлагаемая, или какая-нибудь другая? И почему? Если предлагаемая, то что можно изменить в лучшую сторону?

Заранее спасибо!

Иллюстрации:


10.01.08 16:17: Перенесено модератором из 'Java' — Blazkowicz
Re: Архитектурная концепция новостийного сайта. Зацените.
От: Trean Беларусь http://axamit.com/
Дата: 10.01.08 11:54
Оценка: +2
Здравствуйте, VetalB, Вы писали:

VB>Ведущая платформа для сайта — java.


VB>Данная архитектура, как утверждает начальник сисадминов, используется на сайте cnn.com в течение уже многих лет, доказала свою эффективность и ни разу не была изменена.


VB>Зацените, пожалуйста, эту архитекутуру, и дайте советы, какая архитектура будет все же наиболее эффективная для новостийного сайта. Предлагаемая, или какая-нибудь другая? И почему? Если предлагаемая, то что можно изменить в лучшую сторону?


Ваш начальник сисадминов решил потягаться с CNN? К вам будут ломиться миллионы пользователей? у вас будут гигабайты контента? Думаю хватило бы PHP и настройки кэширования контента в Apache. "Keep It Simple, Stupid".
Re: Архитектурная концепция новостийного сайта. Зацените.
От: Blazkowicz Россия  
Дата: 10.01.08 12:07
Оценка:
Здравствуйте, VetalB, Вы писали:

VB>Иллюстрации:

http://files.rsdn.ru/15915/ForumQuestImgs.jpg
http://www.rsdn.ru/Forum/?mid=2484927
Автор: Blazkowicz
Дата: 14.05.07
Re: Архитектурная концепция новостийного сайта. Зацените.
От: IT Россия linq2db.com
Дата: 10.01.08 17:18
Оценка:
Здравствуйте, VetalB, Вы писали:

Не парьтесь. Один сервер БД и ферма с лоуд балансером.
Неясность изложения обычно происходит от путаницы в мыслях.
Если нам не помогут, то мы тоже никого не пощадим.
Re[2]: Архитектурная концепция новостийного сайта. Зацените.
От: VetalB  
Дата: 11.01.08 11:29
Оценка:
Здравствуйте, IT, Вы писали:

IT>Не парьтесь. Один сервер БД и ферма с лоуд балансером.


Ничего не понял... Расшифруйте, пожалуйста...
Re[2]: Архитектурная концепция новостийного сайта. Зацените.
От: Andrei N.Sobchuck Украина www.smalltalk.ru
Дата: 11.01.08 11:56
Оценка:
Здравствуйте, IT, Вы писали:

IT>Не парьтесь. Один сервер БД и ферма с лоуд балансером.


Кстати, кывт отвечает критериям из исходного поста. Сколько тут посетителей в самую жару
Автор: VladD2
Дата: 21.06.06
? Хит-рейт какой?
Я ненавижу Hibernate!
Я ненавижу Hibernate
Автор: Andrei N.Sobchuck
Дата: 08.01.08
!
Re[3]: Архитектурная концепция новостийного сайта. Зацените.
От: IT Россия linq2db.com
Дата: 11.01.08 14:43
Оценка: 3 (1)
Здравствуйте, VetalB, Вы писали:

IT>>Не парьтесь. Один сервер БД и ферма с лоуд балансером.


VB>Ничего не понял... Расшифруйте, пожалуйста...


Не занимайтесь over engineering. Для вашего решения вполне достаточно одного сервера базы данных и web farm с load balancer.

over engineering — техническое переусложнение.
web farm — группа однотипных равнозначных веб-серверов.
load balancing — http://en.wikipedia.org/wiki/Load_balancing_(computing)

Единственная техническая проблема (в отличии от обычного сайта), которую придётся решить — это управление сессиями. По этому поводу можно покурить решение, которое было сделано в ASP.NET 2.0.
Неясность изложения обычно происходит от путаницы в мыслях.
Если нам не помогут, то мы тоже никого не пощадим.
Re[4]: Архитектурная концепция новостийного сайта. Зацените.
От: VetalB  
Дата: 11.01.08 15:14
Оценка: :)
Здравствуйте, IT, Вы писали:

IT>Не занимайтесь over engineering. Для вашего решения вполне достаточно одного сервера базы данных и web farm с load balancer.


IT>over engineering — техническое переусложнение.

IT>web farm — группа однотипных равнозначных веб-серверов.
IT>load balancing — http://en.wikipedia.org/wiki/Load_balancing_(computing)

IT>Единственная техническая проблема (в отличии от обычного сайта), которую придётся решить — это управление сессиями. По этому поводу можно покурить решение, которое было сделано в ASP.NET 2.0.


Спасибо за совет!

Что касается управления сессиями — у нас весь сайт пока что без авторизации. Поэтому вопрос управления сессиями не стоит вообще...
Re[4]: Архитектурная концепция новостийного сайта. Зацените.
От: cadet354 Россия
Дата: 11.01.08 15:20
Оценка: +1
Здравствуйте, IT, Вы писали:


IT>Единственная техническая проблема (в отличии от обычного сайта), которую придётся решить — это управление сессиями. По этому поводу можно покурить решение, которое было сделано в ASP.NET 2.0.

а что нового появилось по этой теме в ASP.NET 2.0 ?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[5]: Архитектурная концепция новостийного сайта. Зацените.
От: IT Россия linq2db.com
Дата: 11.01.08 15:34
Оценка:
Здравствуйте, cadet354, Вы писали:

IT>>Единственная техническая проблема (в отличии от обычного сайта), которую придётся решить — это управление сессиями. По этому поводу можно покурить решение, которое было сделано в ASP.NET 2.0.

C>а что нового появилось по этой теме в ASP.NET 2.0 ?

Торможу. На самом деле новшевство появилось между ASP и ASP.NET. Давно это было...
Неясность изложения обычно происходит от путаницы в мыслях.
Если нам не помогут, то мы тоже никого не пощадим.
Re: Архитектурная концепция новостийного сайта. Зацените.
От: Firstborn Латвия  
Дата: 12.01.08 21:12
Оценка:
Здравствуйте, VetalB, Вы писали:

VB>Для производительности кеша используется кластер серверов с установленным memcached. Кроме того, memcached позволяет хранить что угодно — как java объекты, так и произвольные данные. Поэтому с memcached можно использовать как java, так и .NET, php, perl и т.д. (можно даже заказать часть сайта на аутсорсинг на другой технологии). Если же использовать java-кеши внутри процессов java virtual machine (jvm), то мы сможем использовать только java-технологии для backend-компонентов. Кроме того, memcached является дистрибутивным кешом, вынесен на отдельные сервера, и не находится внутри процессов jvm. Поэтому если что-то случится с кешом (например, закончится память), то jvm-процесс с java-сервером не упадет.


А зачем изобретать велосипед? Если действительно нужен серьёзный кэшинг, то akamaize it, да и всё тут.
Re[3]: Архитектурная концепция новостийного сайта. Зацените.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 13.01.08 09:38
Оценка:
Здравствуйте, Andrei N.Sobchuck, Вы писали:

ANS>Кстати, кывт отвечает критериям из исходного поста.


Не совсем. Все таки нагрузка на запись весьма значительная, запросы януса тоже из этой схемы несколько выбиваются, а, главное, все таки часто используемые странички заметно тяжелее типового новостного сайта.

ANS> Сколько тут посетителей в самую жару
Автор: VladD2
Дата: 21.06.06
? Хит-рейт какой?


Несколько десятков запросов в секунду.
... << RSDN@Home 1.2.0 alpha rev. 725 on Windows Vista 6.0.6000.0>>
AVK Blog
Re: Архитектурная концепция новостийного сайта. Зацените.
От: ldarcy  
Дата: 19.01.08 04:36
Оценка:
Здравствуйте, VetalB, Вы писали:

xslt transformations будут жрать CPU. Почему бы вам не "компилировать" сайт при изменениях и не расталкивать результат компиляции в виде html на все фронтэнды?
Re[5]: Архитектурная концепция новостийного сайта. Зацените.
От: VGn Россия http://vassilsanych.livejournal.com
Дата: 19.01.08 08:09
Оценка:
C>а что нового появилось по этой теме в ASP.NET 2.0 ?
В ASP.NET есть поддержка StateServer. По моему в 2.0 появилась его стандартная реализация. Точнее сказать не могу. Не использовал.
... << RSDN@Home 1.2.0 alpha rev. 787>>
Re[2]: Архитектурная концепция новостийного сайта. Зацените.
От: VGn Россия http://vassilsanych.livejournal.com
Дата: 19.01.08 08:13
Оценка:
L>xslt transformations будут жрать CPU. Почему бы вам не "компилировать" сайт при изменениях и не расталкивать результат компиляции в виде html на все фронтэнды?

Для asp.net не актуально ни то ни другое. Вполне прокатит встроенная генерация и кэширование aspx. Можно использовать ajax (ajaxpro) + json для динамических блоков.
... << RSDN@Home 1.2.0 alpha rev. 787>>
Re[6]: Архитектурная концепция новостийного сайта. Зацените.
От: Lloyd Россия  
Дата: 19.01.08 13:18
Оценка:
Здравствуйте, VGn, Вы писали:

VGn>В ASP.NET есть поддержка StateServer. По моему в 2.0 появилась его стандартная реализация. Точнее сказать не могу. Не использовал.

По-моему с самого начала была.
... << RSDN@Home 1.2.0 alpha rev. 786>>
Re[7]: Архитектурная концепция новостийного сайта. Зацените.
От: Closer  
Дата: 20.01.08 08:02
Оценка:
Здравствуйте, Lloyd, Вы писали:

[skipped]
L>По-моему с самого начала была.
В книжке про ASP.NET 1.1 упоминается о двух возможных местах удалённого хранения сессии
1) на MS SQL Server
2) на сервере где запущен сервис ASP.NET State Service

Было ли что то подобное в версии 1.0 я не знаю
Мы были здесь. Но пора идти дальше. (с) Дуглас Коупленд, Рабы "Микрософт"
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.