Cистема хостинга медиа

После статьи об архитектуре connect.ua многие спрашивали о подсистеме обслуживания медиа файлов, поэтому в этой статье речь пойдет о масштабируемых и производительных системах обслуживания медиа.

Что такое подсистема хостинга медиа вообще? Это часть системы, которая отвечает за загрузку, сохранение, преобразование (транскодирование) и отдачу медиа файлов. Зачастую эта система является наиболее ресурсоемкой ввиду больших объемов данных и процессорных затрат.

Читать о том, как построить масштабируемую систему хостинга медиа.

Connect.ua - наш досвiд масштабування


Connect.ua — це перший український соціальний сервіс. За два роки проект виріс у досить великий, а отже має свою власну історію масштабування і зростання.

Під час росту ми перепробували велику кількість технологій та підходів, якими я і хочу поділитися в цій статті.

Connect.ua — история роста

Twitter.com - архітектура і масштабування


Twitter.com — архітектура і масштабування

У цій статті поговоримо про один із найбільш гучних і зростаючих проектів — Twitter.com (далі — Твіттер).

Розробка і розвиток цього проекту збігається із класичною схемою вдалого стартапу. Стартував проект з простенького прототипу, написаного нашвидкоруч на платформі Ruby-on-Rails. Після цього в проекті була зроблено величезна кількість змін в архітектурному і технічному плані. Твіттер не раз стикався і долав проблеми швидкого зростання навантаження.

Розробники Твіттер діляться своїм досвідом.

Читати про архітектуру і масштабування Твіттера (рос.)

Кешування важких запитів (на прикладі memcache)


У цій статті розглянемо проблеми, які можуть виникати при кешуванні важких запитів. Під важкими запитами слід розуміти не тільки повільні, але і ресурсомісткі запити (наприклад, звернення до зовнішніх XML джерел з наступною обробкою). Найбільш стандартні ситуації — це важкі SQL вибірки на сторінках з агрегационною інформацією (популярні відео клiпи, кращі фотки, найактивніші користувачі тощо). На перший погляд все просто — кешуємо на годину… дві і забуваємо про ці запити на довгий час. Які проблеми можуть виникнути в ході збільшення навантажень?

Читати про кешування важких запитів далі (рос.)

Масштабирование в Web - опыт Ebay



Для начала, некоторые поразительные показатели проекта Ebay.com:

— Более 89 миллионов активных пользователей
— 190 миллионов товаров в 50 тыс. категорий
— Более 8 миллиардов URL запросов в день
— Большая динамика развития — сотни новых функциональных улучшений каждые 3 месяца
— 39 стран, 9 языков, 24 часа в сутки, 7 дней в неделю, круглый год
— 70 миллиардов операций чтения/записи в день
— Обработка 50 Тб данных в день
— Анализ 50 Пб данных каждый день

Дальше — 10 основных правил масштабирования от Ebay + презентация

Як Facebook масштабує MySQL та Memchached у географічно розподілених місцях тема-посилання

Цікавий опис підходу до поєднання MySQL+Memcached коли сервери є розподілені географічно. Описані проблеми цілісності кешу та проблеми, які можуть виникнути коли буде розсинхронізація даних.

Memcached 1.4.0

Вийшла нова версія одного з найпопулярніших рішень для кешу при розробці для вебу — memcached 1.4.0.
Головні зміни:
  • Бінарний протокол, який зменшує розмір запитів
  • Нові статистики
  • Дещо покращена швидкодія
  • Декілька виправлених багів

Детальний список зміни доступний на сайті.
Завантажити нову версію memcached можна з того ж сайту.

JavaOne 2009 презентації в PDF

Стали доступними презентації в форматі PDF з самої більшої Java конференції JavaOne.
Для доступну до файлів необхідно зареєструватись на Sun Developer Network (SDN).
Кількість та якісь презентацій є дуже хорошою. Цікаво буде всім, навіть не джавістам.
Наприклад:
  • Best Practices for Large-Scale Web Sites: Lessons from eBay

  • JDBC? We Don't Need No Stinkin' JDBC: How LinkedIn Scaled with memcached, SOA, and a Bit of SQL

  • Google App Engine: Java Technology in the Cloud

  • Monkeybars: Tools-Enabled Swing Development with JRuby

  • Clojure: Dynamic Functional Programming for the JVM Machine

  • What's New in Groovy 1.6?

  • The Feel of Scala

  • Tips and Tricks for Ajax Push and Comet Applications

  • Drizzle: A New Database for the Cloud

  • Hadoop, a Highly Scalable, Distributed File/Data Processing System Implemented in Java Technology


Та багато інших. Приємного перегляду :)