В блоге разработчиков системы микроблогов Twitter опубликован (http://engineering.twitter.com/2012/11/bolstering-our-infras...) отчёт о том, как сервису удалось справиться со шквалом публикации сообщений во время проведения выборов президента США. В день выборов интенсивность публикации достигала 327 452 твитов в минуту, а пиковое значение составило 15 107 твитов в секунду. Для того чтобы обеспечить непрерывную работу сервиса при подобной нагрузке разработчики предприняли ряд мер, в том числе связанных с заменой критичных к производительности компонентов инфраструктуры с изначальной используемой реализации на языке Ruby на варианты, переписанные на языке Java.
В качестве основной причины перехода на Jаva называется излишне высокая нагрузка на CPU при выполнении интерпретатора Ruby, вызванная в основном особенностями работы сборщика мусора. Для решения данной проблемы в недрах Twitter ведётся (http://engineering.twitter.com/2011/03/building-faster-ruby-...) разработка собственного сборщика мусора для Ruby - Kiji и проводится оптимизация runtime-компонентов, но несмотря на это начались действия по постепенному переходу с Ruby на Java. В настоящее время стеком на базе JVM уже обслуживаются запросы мобильных клиентов.
Одновременно можно отметить информацию, опубликованную (http://www.theregister.co.uk/2012/11/09/facebook_open_source.../) социальной сетью Facebook. За день Facebook приходится сохранять пол петабайта данных, за год хранилище увеличивается примерно на 180 петабайт. Для поддержания хранилища такого размера в Facebook используется (https://www.facebook.com/notes/facebook-engineering/under-th...) модифицированная версия открытой платформы для распределённой обработки данных Apache Hadoop, развиваемая под именем Hadoop Corona. Реализация от Facebook отличается переработанным механизмом Map-Reduce, оптимизированным для одновременного отслеживания большего числа задач, повышения масштабируемости и уменьшения задержек. Отныне Hadoop Corona вышел за рамках внутренней разработки Facebook и доступен всем желающим. Код проекта опубликован (https://github.com/facebook/hadoop-20/tree/master/src/contri...) на GitHub.
URL: http://engineering.twitter.com/2012/11/bolstering-our-infras...
Новость: https://www.opennet.ru/opennews/art.shtml?num=35277