Социальная сеть-техническая сторона

SR
На сайте с 10.06.2011
Offline
8
2133

Здравствуйте дорогие друзья.

Давайте представим такую ситуацию...

Планируется написание социальной сети, требования к ней таковы:

1.Высокая скорость загрузки страниц.

2.Повышенная безопасность.

3.Выдержка посещаемости в несколько тысяч хостов.

4.Легкая расширяемость в плане дописания кода.

5.Кроссбраузерность.

6.Малое количество запросов к базе.

Это основные критерии к сети.

Теперь включим свою фантазию и выскажем свое мнение.

На каком языке будет писаться сеть и почему?

Будут ли использоваться фреймворки?

Какова будет архитектура сайта?И т.д.

В общем интересно знать,если бы писалась сеть конкурирующая в техническом плане Facebook (например),то на чем бы она писалась,какие техники и приемы использовалась и почему.

Буду признателен за глубокий ответ на данный пост.

melkozaur
На сайте с 06.04.2010
Offline
536
#1

SpideR-KOSS,

Вы Павлику Дурову сразу пишите в личку - он обладает полной информацией.

M
На сайте с 11.06.2011
Offline
0
#2

главная особенность это масштабируемость.. читаем про масташибруемость и архитектуру высоконагруженных проектов

T
На сайте с 20.03.2007
Offline
67
Toy
#3

Facebook пишут свои патчи для mysql, php, написали свой веб-сервер и невероятно много другого софта, например Hip-Hop, который компилирует php код в код на C++. У них несколько тысяч сотрудников. В техническом плане вам будет сложно с ними конкурировать :-)

Будут ли использоваться фреймворки?

Твиттер написан на Ruby on Rails.

SR
На сайте с 10.06.2011
Offline
8
#4

Павлик Дуров написал честно говоря кусок.....так что спрашивать у него нет смысла.

SpideR-KOSS добавил 11.06.2011 в 14:56

Ребята.Спасибо большое что откликнулись.

То,на чем написаны,какую имеют архитектуру и т.д социальные сети,я отлично знаю.Меня Интересует другое...Если бы вы взялись за написание крупной социальной сети,на чем бы писали и т.д.

T
На сайте с 20.03.2007
Offline
67
Toy
#5
Если бы вы взялись за написание крупной социальной сети,на чем бы писали

На компьютере (с)

К чему эта тема? Вы хотите написать свою социальную сеть? Один?

Для каждой задачи есть технология, которая лучше всего её реализует. Какая у вас задача? Раздавить Facebook? Тогда начните с совокупности технологий салфетки и простого карандаша, придумайте идею.

Если стоит задача максимально быстро выкатить проект, я бы использовал рельсы. Если есть время на разработку и хороший бюджет, делал бы преимущественно на php.

S
На сайте с 23.05.2004
Offline
315
#6
1.Высокая скорость загрузки страниц.

Зависит от верстки, использования CDN . Решается по сути наличием денег.

3.Выдержка посещаемости в несколько тысяч хостов.

Кому нужны ваши хосты ? Расчет делается из числа хитов. К примеру у вас 1000 пользователей, каждый в день сделает 100 хитов. Т.е. 100к хитов. Далее из расчета пиков умножаем на 2, а лучше на 3. Итого 300к хитов. Т.е. 86400 / 300000 = ~3.4 = 4 хита в секунду. Вот и конечный результат, 4 запроса в секунду под 1к пользователей.

6.Малое количество запросов к базе.

Оставьте этот факт решать разработчикам по ситуации, а не рассуждать бреднями школохостов за 2 бакса, что база ненадежна, грузит сервер и падает. У вас есть требование хитов за секунду, а как это будет реализовано, уже не ваша проблема.

На каком языке будет писаться сеть и почему?
Будут ли использоваться фреймворки?
Какова будет архитектура сайта?И т.д.

php + mysql , без фреймворка или на своей личной реализации, архитектура красивая, с красными камешками на боку :)

если бы писалась сеть конкурирующая в техническом плане Facebook

там счет идет на тысячи компьютеров. Для начала решите, а сможете ли вы арендовать стойку у провайдера с парой десятков серверов ?

По теме: читать тут

Это просто подпись.
A
На сайте с 29.12.2007
Offline
68
#7
Stek:
php + mysql , без фреймворка или на своей личной реализации, архитектура красивая, с красными камешками на боку :)

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

Stek:
там счет идет на тысячи компьютеров. Для начала решите, а сможете ли вы арендовать стойку у провайдера с парой десятков серверов ?

Стойка - это 42 юнита. 40 обычных и 2 коротких, если не изменяет память. Но суть не в этом...

300к хитов (по вашим подсчетам) выдержит 1 сервер, более-менее нормальной конфигурации. Для примера, есть 2 сайта: 1млн хитов у первого и 1.5млн у второго. На первом 2 бекенда + сервак базы + 3 сервака картинок (очень много картинок хранится), у второго 1 бекенд + 1 база + 1 сервак картинок, картинки вынесли отдельно совсем недавно, раньше распологались на бекенде. Кстати, второй сайт на dle - это к вопросу о фреймворках...

На бекендах нагрузка в пике не достигает и 10%.

ТС, вы не правильно ставите задачи: смешиваете организаторские вопросы и технические. По техническим, я бы выбрал nginx + php (ko3 или yii) + mysql + memcache + eaccelerator.

S
На сайте с 23.05.2004
Offline
315
#8
Некоторые фреймворки вполне подходят под большие нагрузки: yii, ko3 и пр.

Возможно и так, тут просто мое личное мнение, что узко специализированный код позволит получить гораздо большее быстродействие, чем универсальный.

300к хитов (по вашим подсчетам) выдержит 1 сервер, более-менее нормальной конфигурации.

Согласен. Но ведь у нас будет задача не только отдать контент, но и обработать. Начиная от картинок (размеры, тумбы) до статистики. Т.е. уже 2 сервера вынь да положь. А что такое социальная сеть с 1к уников ? :)

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

FladeX
На сайте с 07.11.2008
Offline
163
#9
SpideR-KOSS:
Если бы вы взялись за написание крупной социальной сети,на чем бы писали и т.д.

На том, что знают ваши программисты.

Я бы рекомендовал почитать про фреймворк уровня symfony2.

Услуги посредника на бирже контента: информационные статьи 40₽/1000, «продающие» тексты 50₽/1000. Пишите в личку. Помогаю правильно переехать на https (/ru/forum/973447). Подписывайтесь на мой канал в телеграм: https://t.me/fladex (https://t.me/fladex).
S
На сайте с 28.10.2005
Offline
319
#10

Еще одна соцсеть? Ненадо, пощадите людей http://secl.com.ua/article-vse-o-socialnyh-setjah-vlijanije-na-cheloveka.html

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий