08 Фев

Архитектура YouTube 2012

Выбирайте самое простое решение с наиболее общими гарантиями, которые практически полезны.
— Дао YouTube

 

YouTube практически на протяжении всех 7 лет своего существования является мировым лидером в сфере интернет-видео. С точки зрения технической реализации проект оказался достаточно консервативным — команда придерживается того же курса и стека технологий, с которых все начиналось еще до приобретения проекта Google. Но с 2008 года, когда я написал первый обзор архитектуры YouTube, все же произошли интересные изменения, о которых я и хотел бы сегодня вкратце рассказать.

08 Фев

Tornado

Tornado - масштабируемый неблокирующий HTTP-сервер на основе epoll, написанный полностью на Python. Изначально он был разработан в рамках проекта FriendFeed, на сегодняшний же день его поддержкой занимается Facebook. Сегодня я хотел бы рассказать о том, как с его помощью можно быстро и легко создавать веб-проекты на Python, которые в дальнейшем будет относительно легко горизонтально масштабировать.

08 Фев

Erlang в интернет-проектах

С моей точки зрения, Erlang — один из наиболее продуманных языков программирования. Его создатели выбирали каждую деталь и особенность реализации так, чтобы сделать его идеальным для решения вполне конкретных телекоммуникационных задач, с которыми они сталкивались в 80-90-х годах. Во многом из-за этого он так и не стал универсальным языком программирования как C++, Python и другие, а так и остался спустя многие годы специализированным инструментом. Сегодня спрос и предложение на специалистов по Erlang на рынке труда относительно малы, что для большинства проектов является основным аргументом против Erlang, хотя порой они и сталкиваются с задачами, где он запросто бы стал тем самым «идеальным инструментом». В этой статье я хотел бы обсудить, в каких именно ситуациях применительно к интернет-проектам использование Erlang оправдано и почему. Но начать придется издалека — с того, чем же он так уникален.

08 Фев

Основы Erlang: синтаксис и пунктуация

Мои теоретичесие рассуждения о месте Erlang в Интернете Вы можете почитать в отдельной статье. Если сомневаетесь интересно Вам это все или нет — то прочтите сначала её. Сегодня я постараюсь вернуться с небес на землю и пройтись по азам этого пугающего многих языка программирования. Коротко и по делу.

08 Фев

Piccolo — это система для распределенных вычислений, использующая новую ориентированную на данные модель программирования для разработки приложений по параллельным вычислениям в памяти в масштабах дата-центров. В отличии от существующих моделей, основывающихся на потоках данных, Piccolo позволяет вычислениям выполняться на различных машинах, при этом имея общее изменяющееся состояния через интерфейс таблиц пар «ключ-значение». Традиционные ориентированные на данные модели (такие как используются в Apache Hadoop) предоставляют пользователю для работы лишь единственный объект в определенный момент времени, когда в Piccolo используется глобальная таблица состояний, одновременно доступная для всех частей вычисления. Это позволяет пользователям указывать алгоритм вычисления в интуитивно-понятной манере, очень похожей на разработку программ для одного компьютера.

08 Фев

Горячая замена кода

Для начала давайте разберемся в том, что же вообще такое «горячая замена кода»  (hot code replacement или hot code swapping)? По сути это возможность обновить (или откатить) код работающей программы без её перезапуска и, как следствие, периода недоступности, потери состояния и повторной инициализации.

08 Фев

RabbitMQ

Когда веб-приложение перестает быть просто коллекцией скриптов, генерирующих HTML, встает вопрос о взаимодействии различных компонентов системы. Есть два основных подхода:

08 Фев

Redis: подробный обзор

На сегодняшний день ассортимент решений для хранения данных очень широк: от встраиваемых СУБД до кластерных распределенных систем. SQL перестал быть стандартом де-факто для доступа к данным, а альтернативные решения давно переросли примитивные хранилища пар ключ-значение. Сегодня я хочу вкратце рассказать об одном из таких решений, продукте, который нашел свое место во многих моих проектах за последние годы, Redis.

08 Фев

Является ли использование продукции Microsoft причиной провала MySpace?

Как известно, MySpace появилась на рынке даже несколько раньше, чем Facebook, с практически аналогичным продуктом. Но при этом на сегодняшний день Facebook — общепризнанный лидер рынка социальных сетей, а MySpace даже далеко не все слышали название. С технической точки зрения у проектов совершенно разные подходы: Facebook построен на opensource технологиях, типичный LAMP, MySpace же полностью использует стек от Microsoft. Некоторое время назад в зарубежной блогосфере зародилась оживленная дискуссия на тему: а не выбор ли закрытых технологий стал основной причиной проигранной MySpace «гонки»  социальных сетей?

08 Фев

Аналитика в реальном времени от Facebook

HBase в Facebook завоевывает все более и более крепкие позиции, в прошлый раз я рассказывал о применении HBase в роли системы хранения данных для их новой системы обмена сообщений. Вторым продуктом, который теперь полноценно использует данную технологию, является система сбора и обработки статистики в реальном времени под названием Insights. Социальные кнопки (см. слева от поста) стали одним из основных источников трафика для многих сайтов, новая система аналитики позволит владельцам сайтов и страниц лучше понимать как пользователи взаимодействуют и оптимизировать свои интернет-ресурсы, основываясь на данных в реальном времени. Итак, 20 миллиардов событий в день (200 тысяч в секунду) с задержкой не более 30 секунд, как же можно этого достичь?

Вверх