високонавантажених сайти і додатки на PHP / Symfony

    Кожен розробник, який працює на тій чи іншій технології, постійно читає про неї щось новеньке і поглиблює свої знання. І ми не виняток. PHP досить старий і популярний мову, на якому є багато різних фреімворков. Один з найпопулярніших і серйозних — це Symfony і так вже історично вийшло, що ми на ньому пишемо. За цим фреімфорку в рунеті не так багато інформації, як хотілося б, ми часто читаємо різні статті, огляди та інтерв'ю англійською мовою, щоб бути в курсі останніх подій. Ця стаття — огляд великих сайтів, які зроблені на PHP / Symfony з унікальною для рунета інформацією, а також опис деяких технологій, які застосовуються в зв'язці з ними. І так, ми знаємо, що PHP «вже не торт» і що використовувати його вже не модно, однак ця технологія має більшу частку ринку, багато напрацювань і відмінну документацію, тому ми її використовуємо нарівні з Python, Ruby, Java та іншими.
 
Таблиця відомих проектів (на основі даних http://builtwith.com/ ), клікабельно:
 
 image
 
 

Yahoo! Bookmarks (онлайн сервіс)

 Використані технології:
 
Думаю, не варто розповідати про компанію Yahoo!… Всім вона добре відома, нехай навіть і здала трохи в своїх позиціях. Тут варто відзначити, що один час проект Yahoo! Bookmarks був написаний на мові Perl, а в подальшому став використовуватися PHP і фреймворк Symfony. При тому, за словами Майкла Солсбері вибір припав на Symfony завдяки прекрасній документації, широким можливостям налаштування і використання кращих у своєму роді компонентів, які не треба розробляти з нуля.
 
(Джерело http://www.symfony-project.org/blog//2006/10/28/yahoo-bookmarks-uses-symfony )
 
 Трохи про статистику:
 
Yahoo! Bookmarks щомісяця відвідують понад 500 тис. користувачів. Кількість унікальних відвідувань на квітень місяці 2014 складає трохи більше 200 тис. Це число значно зменшилася по відношенню до показників за минулий рік — понад 500 тис. унікальних відвідувань за червень 2013 року.
 
(Джерело http://www.siteclass.com/www/bookmarks.yahoo.com )
 
 

Delicious.com. (Онлайн сервіс)

 Використані технології:
 
PHP як мова програмування і в якості фреймворка був обраний Symfony. Хостинг — Amazon. За основну систему управління базами даних взята MySQL, кешування об'єктів виконує memcached, а Redis виступає в якості додаткового сховища даних.
 
 Трохи про статистику:
 
Щомісяця delicious.com відвідує близько 1,5 мільйона осіб, з них унікальних відвідувань — більш ніж 250 тисяч. Статистика на даний момент сильно падає. На той момент, як проектом володіла компанія Yahoo! на сайті було зареєстровано більше 5,3 мільйонів користувачів і 180 мільйонів унікальних закладок.
 
(Джерело http://www.siteclass.com/www/delicious.com , http://en.wikipedia.org/wiki/Delicious_ (website) )
 
 

TED (сайт конференції)

 Використані технології:
 
Ted.com народився в 2006 році. Проект використовував PHP як мова програмування і Symfony в якості фреймворка. В інтерв'ю з головним технічним директором Гевіном Холом і архітектором ПО Майклом Твентімен йдеться про першу версію сайту, побудованої на вищепереліченої технології. PHP був вибраний як один з популярних на той час мов, який знали багато розробників. Також згадується, що досвід масштабування таких гігантів як Yahoo! і Facebook, що використовують PHP, також вплинув на вибір мови програмування.
 
(Джерело http://hello.ted.com/2013/10/04/under-the-hood/ )
 
 Трохи про статистику:
 
На січень 2014 більш ніж 1500 записів виступів на конференції було опубліковано на сайті. Щотижня публікується 5-7 нових виступів. 13 листопада 2012 TED досяг позначки в мільярд переглядів. Щомісяця ted.com відвідують 2 мільйони 200 тис. осіб, з них унікальних відвідувань — більш ніж 1 мільйон.
 
(Джерело https://www.quantcast.com/pitchfork.com )
 
 

Dailymotion (відеохостинг)

 Використані технології:
 
Проект був запущений в 2005 році на основі домашніх серверів Linux. Спочатку до нього ставилися скептично, і після того, як відмітка унікальних відвідувань перевалила за 37 мільйонів в місяць, творці замислилися про розширення. У 2009 Dailymotion перейшов на Symfony. Отже, в проекті так само використовується зв'язка PHP і Symfony. За основну систему управління базами даних взята MySQL, кешування об'єктів виконує memcached.
 
(Джерело https://www.ndm.net/isilon/pdf/dailymotion.pdf , http://whoisusing.it/website/dailymotion )
 
 Трохи про статистику:
 
Dailymotion на 2013 рік мав більше 112 мільйонів унікальних відвідувань і 2,5 мільярда переглядів по всьому світу. Сюди входять 50 Гбіт інформації в день, 25 мільйонів переглядів сторінок на день, 2 мільйони користувачів в день і додавання відео об'ємом в 1 Тбайт на день (джерело ComScore, січень 2013). На 2012 рік сайт був 32м по відвідуваності в світі.
 
(Джерело https://www.ndm.net/isilon/pdf/dailymotion.pdf , http://advertising.dailymotion.com/stats/ )
 
 

BlaBlaCar (соціальна мережа (платформа))

 Використані технології:
 
PHP як мова програмування і в якості фреймворка був обраний Symfony. За основну систему управління базами даних взята MySQL, кешування об'єктів виконує memcached, а колекцій об'єктів — Redis. Все це працює також у зв'язці з RabbitMQ. Elasticsearch використовується як пошукова платформа.
 
(Джерело http://moquet.net/talks/symfony-live-2013/ )
 
 Трохи про статистику:
 
Проект був запущений в 2004 році. За десять років кількість користувачів поступово зростало, і на 2014 рік складає 6 мільйонів зареєстрованих водіїв і пасажирів. Було абсолютно близько 30 мільйонів поїздок за час роботи проекту. У січні 2014 BlaBlaCar з'явився в Росії і Україні. На сьогоднішній момент статистика по сайту така: більше 27 тисяч унікальних щоденних відвідувань і більше 160 тисяч переглядів сторінок.
 
(Джерело http://fr.wikipedia.org/wiki/BlaBlaCar , http://www.rankstats.org/worth/blablacar.com )
 
 

YouPorn (порносайт)

 Використані технології:
 
З 2011 року сайт використовує PHP + Symfony замість Perl, а також Redis замість MySQL і ActiveMQ. Таким чином, за основну систему управління базами даних узятий Redis, він же відповідає за кешування об'єктів. MySQL використовується як інструмент адміністратора для управління і додавання даних в кластер Redis. За балансування навантаження відповідає HAProxy.
 
(Джерело http://highscalability.com/blog/2012/4/2/youporn-targeting-200-million-views-a-day-and-beyond.html )
 
 Трохи про статистику:
 
Зрозуміло, що сайт подібного змісту має високу відвідуваність, тому наведу лише кілька цифр для загальної картини. Статистика на 2012 рік склала 4,851,384,493 відвідувань по всьому світу. В середньому в день передається 950 ТБ. Кількість переглядів у день становить 200 мільйонів. Сервер Redis обробляє 300 тисяч запитів в секунду.
 
(Джерело http://blog.youporn.com/youporn-2012-big-numbers-hard-facts/ , http://www.extremetech.com/computing/123929-just-how-big-are- porn-sites / 2 )
 
 

W3Counter (сервіс статистики)

 Використані технології:
 
PHP як мова програмування і в якості фреймворка був обраний Symfony. За основну систему управління базами даних взята MySQL, кешування об'єктів виконує Redis.
 
(Джерело http://www.dangrossman.info/2014/02/08/10-years-of-w3counter/ )
 
 Трохи про статистику:
 
Сервіс надає детальну статистику більш ніж 76,000 сайтам. Проект відвідують більше 3 тисяч користувачів на день, і більше 8 тисяч переглядів сторінок. Унікальних відвідувань щомісяця — близько 40 тисяч.
 
(Джерело http://bluehorn.co.nz/2008/12/06/popular-websites-built-using-symfony-framework/ , https://www.quantcast.com/w3counter.com?country = GLOBAL )
 
 

Photobucket (сервіс хостингу зображень)

 Використані технології:
 
PHP як мова програмування і в якості фреймворка був обраний Symfony. За основну систему управління базами даних взята MySQL, використовується Hadoop — для реалізації пошукових і контекстних механізмів, аналізу даних. Squid реалізує функцію кешуючого проксі-сервера.
 
(Джерело http://www.linkedin.com/in/jgoss1074 )
 
 Трохи про статистику:
 
На проекті розміщено більше 10 мільярдів зображень, з них щодня завантажуються близько 4 мільйонів картинок і відео файлів з Мережі і підключених цифрових пристроїв. Все це завантажують більш ніж 100 мільйонів зареєстрованих користувачів. Проект популярний, на нього посилаються більше 300 тисяч різних сайтів.
 
За червень місяць проект має близько 62 мільйони відвідувань і близько 180 мільйонів переглядів сторінок, з них в день більше 1,8 мільйона відвідувань і більше 5 мільйонів переглядів станиць.
 
(Джерело http://en.wikipedia.org/wiki/Photobucket , http://ru.wikipedia.org/wiki/Photobucket , https://www.quantcast.com/photobucket.com )
 
 

Postcrossing (сайт проекту)

 Використані технології:
 
Проект написаний на PHP з використанням фреймворку Symfony. За основну систему управління базами даних взята MySQL, яка працює у зв'язці з Redis. Проект також використовує інфраструктуру Amazon, зокрема S3.
 
(Джерело http://sankarsuresh.wordpress.com/2005/11/24/postcrossing/ , http://codemonkey.ravelry.com/2010/03/24/ravelry-runs-on-2010/ )
 
 Трохи про статистику:
 
На даний момент на проекті зареєстровано більше 480 тисяч користувачів з 212 країн. За допомогою проекту було отримано понад 24500000 листівок, з них 15500000 були опубліковані на сайті. На червень 2014 кількість унікальних відвідувань становить 18 тисяч.
 
(Джерело http://www.postcrossing.com/stats/postcards , http://www.postcrossing.com/stats/users )
 
 

Eventfinder (соціальна мережа)

 Використані технології:
 
У 2006 році проект перейшов на в'язку PHP як мова програмування і Symfony як фреймворк. Хостинг — ICONZ. За основну систему управління базами даних взята MySQL.
 
(Джерело http://www.scoop.co.nz/stories/SC0606/S00050.htm )
 
 Трохи про статистику:
 
У штаті працює 18 чоловік. Проект має близько 800 тисяч унікальних відвідувань на місяць, з них в день — більше 25 тисяч. А також щодня проглядаються більше 75 тисяч сторінок.
 
(Джерело http://eventfinder.co.nz.w3snoop.com/ )
 
Таким чином, хоча деякі фахівці PHP сильно критикують останнім часом, але на ньому досі багато серйозних проектів. В даному випадку в статті наведено огляд проектів на конкретному фреімворке, а їх на PHP дуже багато і вони дуже різні, всього на цій мові проектів дуже багато. Головне для реалізації якісної технічної основи проекту — хороші програмісти, а робити можна на різних мовах і фреімворках, які, до речі, краще всього підбирати під конкретні завдання і часто потрібно робити суміш технологій для максимального ефекту. Symfony відмінно підходить для середніх і великих проектів, хоча і має ряд недоліків.
 
Взагалі, на Symfony існує багато проектів. І багато хто з них використовуються для розробки. Наприклад, для e-commerce проектів є Sylius (відразу скажу, що до проекту відносини ми не маємо, щоб не прийняли за рекламу. Це просто приклад). Вельми цікаве рішення. Можна сказати, що це один з небагатьох безкоштовних і добре опрацьованих бандлів, заснованих на Symfony. Можливо, не вдасться розібратися в ньому відразу, і доведеться витратити час і зусилля, однак все це з лишком окупається безліччю унікальних можливостей, що надаються як окремими його компанентами, так і системою в цілому. Розібравшись у функціональності та ідеях певних бандлів, що входять до Sylius, ви можете захотіти застосувати їх в інших проектах, відмінних від e-commerce.
 
Залишайтеся з нами, ми будемо продовжувати писати про PHP і інші технології. У коментарях можна пропонувати теми, найцікавіші ми розберемо.
    
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.