Twitter переходит с Ruby на Java. Facebook открыл код Map-Reduce-реализации Corona
9 ноября 2012 года
В блоге разработчиков системы микроблогов Twitter опубликован отчёт о том, как сервису удалось справиться со шквалом публикации сообщений во время проведения выборов президента США. В день выборов интенсивность публикации достигала 327 452 твитов в минуту, а пиковое значение составило 15 107 твитов в секунду. Для того чтобы обеспечить непрерывную работу сервиса при подобной нагрузке разработчики предприняли ряд мер, в том числе связанных с заменой критичных к производительности компонентов инфраструктуры с изначальной используемой реализации на языке Ruby на варианты, переписанные на языке Java.
В качестве основной причины перехода на Jаva называется излишне высокая нагрузка на CPU при выполнении интерпретатора Ruby, вызванная в основном особенностями работы сборщика мусора. Для решения данной проблемы в недрах Twitter ведётся разработка собственного сборщика мусора для Ruby - Kiji и проводится оптимизация runtime-компонентов, но несмотря на это начались действия по постепенному переходу с Ruby на Java. В настоящее время стеком на базе JVM уже обслуживаются запросы мобильных клиентов.
Одновременно можно отметить информацию, опубликованную социальной сетью Facebook. За день Facebook приходится сохранять пол петабайта данных, за год хранилище увеличивается примерно на 180 петабайт. Для поддержания хранилища такого размера в Facebook используется модифицированная версия открытой платформы для распределённой обработки данных Apache Hadoop, развиваемая под именем Hadoop Corona. Реализация от Facebook отличается переработанным механизмом Map-Reduce, оптимизированным для одновременного отслеживания большего числа задач, повышения масштабируемости и уменьшения задержек. Отныне Hadoop Corona вышел за рамки внутренней разработки Facebook и доступен всем желающим. Код проекта
Источники[править]
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии[править]
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.