Здравствуйте, меня зовут Александр Зеленин, и я на дуде игрец веб-разработчик. Полтора года назад я рассказывал о разработке онлайн игры. Так вот, она немного разрослась… Суммарный объём исходного кода превысил «Войну и мир» вдвое. Однако в данной статье я хочу рассказать не о коде, а об организации инфраструктуры проекта.
Рубрика «балансировка нагрузки» - 3
Инфраструктура онлайн игры
2017-01-16 в 10:00, admin, рубрики: Amazon Glacier, bamboo, bitbucket, confluence, freebds, freenas, jail, jira, mongodb, NAS, nginx, node.js, owncloud, phpvirtualbox, pm2, replication, slack, SPA, support, virtualbox, VPC, vpn, vps, zfs, Анализ и проектирование систем, архитектура, базы данных, балансировка нагрузки, бекап, время выдохнуть, высокая производительность, дата-центр, домашний сервер, игры, информационная безопасность, инфраструктура, история создания, мастер тегов, масштабирование, метрики, нагрузочное тестирование, настройка сети, несколько провайдеров, обзор, онлайн игры, потеря данных, Разработка веб-сайтов, разработка игр, резервное копирование, спокойный сон, стабильность, СХД, техническая поддержка, фотография, хранение данных, ясделяльОднажды встретились JMeter и незнакомка…
2016-11-20 в 0:26, admin, рубрики: groovy, http, java, jmeter, jni, jupyter, pandas, wget, балансировка нагрузки, высокая производительность, плагин, Тестирование IT-систем, Тестирование веб-сервисов
Кадр из фильма «Дом у озера». Встреча (www.kinopoisk.ru)
Джим ещё не знал, как подойти к ней, с чего начать разговор и на каком языке его вести. Но он видел многое, владел языками и имел в рукаве не один козырь. И будучи уверенным в помощи верных друзей (это мы с вами) и забыв про сомнения, шёл на встречу судьбе.
Ниже рассказ о том, как Джим завоёвывал снова и снова сердце незнакомой системы. Не подумайте, что незнакомок было несколько. Она была одна, единственная, но такая разная, и от того истории будут следовать одна за другой.
Читать полностью »
Как мы сделали ровную балансировку нагрузки на фронтенд-кластере
2016-09-19 в 13:28, admin, рубрики: highload, php, балансировка нагрузки, Блог компании Badoo, Блог компании Конференции Олега Бунина (Онтико), высокая производительность, Разработка веб-сайтов, юрий насретдиновЮрий Насретдинов (
youROCK, Badoo)
Расшифровка доклада Юрия Насретдинова на конференции HighLoad++ 2015. Юрий расскажет про то, как Badoo (крупнейшая социальная сеть для знакомств с новыми людьми) сделали практически идеально ровную балансировку нагрузки на нашем кластере. Передаём ему слово...
Чтобы обслуживать то количество пользователей, то количество реквестов в секунду, которые мы получаем, у нас около трех тысяч серверов, и на PHP-FPM конкретно приходится 70 тысяч в пике.
О том, как мы эти запросы распределяем по нашему кластеру, я расскажу.
Кратко — о чем я буду рассказывать. Во-первых, я расскажу, как «с высоты птичьего полета» устроен роутинг запросов на нашем сайте. Потом расскажу, какие, вообще, существуют алгоритмы балансировки; про то, как мы делали балансировку до того, как мы сделали автоматическую систему. Расскажу про эту автоматическую систему, ну и будут кое-какие выводы. Также хотел сказать, что эта система будет выложена в open-source после этого доклада.
Читать полностью »
Что делать, когда не работает prepend
2016-07-13 в 7:35, admin, рубрики: as-path, BGP, балансировка нагрузки, балансировка трафика, Блог компании CBS, маршрутизация, префиксы, Сетевые технологииХотим поделиться переводом серии заметок из блога Расса Уайта (Russ White), где он поднимает вопрос использования AS-PATH Prepend при подключении к Интернет-провайдерам по BGP.
При подключении организации к двум и более провайдерам по BGP могут возникать несколько задач. Например, избежать асимметричной маршрутизации, т. е., добиться, чтобы ответные пакеты возвращались через того же провайдера, через которого инициируется сессия. Или, наоборот, добиться равномерного распределения трафика по каналам провайдеров, не принимая во внимание асимметричную маршрутизацию. В обоих случаях влиять на маршрутизацию Интернет-провайдеров в сторону корпоративной сети можно с помощью BGP-атрибута AS-PATH. Но, к сожалению, данный подход далеко не всегда помогает добиться нужного результата. О проблемах использования AS-PATH Prepend как раз и пойдёт речь.Читать полностью »
Умпа-лумпы Интернет или как программировать DNS
2015-04-21 в 11:47, admin, рубрики: ddns, DNS, балансировка нагрузки, геотаргетирование, ит-инфраструктура, Программирование, Сетевые технологии, системное администрирование, метки: DDNS, DNS, программирование Если ты занимаешься администрированием сетей и тебе необходимо управлять большим, постоянно меняющимся количеством серверов, или если ты разрабатываешь приложение использующее динамическую балансировку нагрузки, или если ты разворачиваешь многоязыковый веб-сайт тебе никак не обойти внимание вопросы, связанные с правильной настройкой DNS.
Как и в любом деле в Интернет есть свои невидимые и незаметные работники, ежедневно, ежечасно… ежемиллисекундно выполняющие свои незамысловатые рутинные операции. Это конечно же маршрутизаторы, коммутаторы и другие устройства доставляющие пакеты данных из одной точки в другую. В них есть собственные регулировщики загрузки, перенаправляющие потоки другим путем в случае образования заторов. Но откуда они все знают куда доставить эти пакеты? Знающий человек скажет — «так там указан IP-адрес» и будет прав. Но обычный веб-серфер, как правило и представления не имеет об IP адресах, но тем не менее несколько миллиардов простых веб-серферов вполне себе успешно «бороздят» Интернет. Такую возможность им, да и «лицо» современной сети Интернет определяет другой «умпа-лумп» — служба DNS.
Читать полностью »
Свободная прошивка OpenWrt может расширить интернет-канал (с помощью соседа)
2015-03-30 в 9:38, admin, рубрики: Comcast, OpenWrt, Xfinity WiFi, балансировка нагрузки, Железо, информационная безопасность, маршрутизаторНе секрет, что провайдеры в разных странах всё чаще внедряют своим клиентам принудительную или опциональную услугу по раздаче гостевого WiFi. Например, так делают американский Comcast (сеть Xfinity WiFi), российский «Ростелеком», белорусский «Белтелеком» и другие интернет-провайдеры. В такой ситуации маршрутизатор пользователя используется как публичный хотспот, а сам оператор зарабатывает дополнительные бонусы, продавая карточки доступа к WiFi-сети с «глобальным покрытием», ведь его хотспоты установлены практически в каждом городском доме.
OpenWrt — мощный дистрибутив Linux, разработанный специально для встраиваемых систем, в первую очередь, для маршрутизаторов. Ею и воспользовался один из пользователей провайдера Comcast. И получил неожиданный результат.
Читать полностью »
Лишние элементы или как мы балансируем между серверами
2015-03-13 в 8:55, admin, рубрики: BGP, ivi, ivi.ru, балансировка, балансировка нагрузки, Блог компании онлайн-кинотеатр ivi.ru, ит-инфраструктура, Серверная оптимизация, Сетевые технологииПривет! Какое-то время назад люди осознали, что увеличивать мощность сервера в соответствии с ростом нагрузки просто невозможно. Тогда-то мы и узнали слово «кластер». Но как бы красиво это слово не звучало, всё равно приходится технически объединять разрозненные серверы в единое целое – тот самый кластер. По городам и весям мы добрались до наших узлов в моём предыдущем опусе. А сегодня мой рассказ пойдёт о том, как делят нагрузку между членами кластера системные интеграторы, и как это сделали мы.
Внутри публикации вас также ждёт бонус в виде трёх сертификатов на месячную подписку ivi+.
Читать полностью »
Балансировка нагрузки: основные алгоритмы и методы
2015-02-10 в 8:35, admin, рубрики: load balancing, selectel, балансировка нагрузки, Блог компании Селектел, селектел, системное администрирование
Вопрос о планировании нагрузки следует решать ещё на ранней стадии развития любого веб-проекта. «Падение» сервера (а оно всегда происходит неожиданно, в самый неподходящий момент) чревато весьма серьёзными последствиями — как моральными, так и материальными. Первоначально проблемы недостаточной производительности сервера в связи ростом нагрузок можно решать путем наращивания мощности сервера, или же оптимизацией используемых алгоритмов, программных кодов и так далее. Но рано или поздно наступает момент, когда и эти меры оказываются недостаточными.
Приходится прибегать к кластеризации: несколько серверов объединяются в кластер; нагрузка между ними распределяется при помощи комплекса специальных методов, называемых балансировкой. Помимо решения проблемы высоких нагрузок кластеризация помогает также обеспечить резервирование серверов друг на друга.
Эффективность кластеризации напрямую зависит от того, как распределяется (балансируется) нагрузка между элементами кластера.
Балансировка нагрузки может осуществляться при помощи как аппаратных, так и программных инструментов. Об основных методах и алгоритмах и балансировки мы бы хотели рассказать в этой статье.
Читать полностью »
Балансировщик запросов к базе на node.js
2014-10-22 в 13:43, admin, рубрики: javascript, node.js, sql, балансировка нагрузкиВ этой статье я опишу две абстракции-классы, написанные средствами nodejs, которые предоставляет функционал распределения запросов по открытым каналам (tcp-socket). При этом учитывается общая загруженность системы и, если каналов не хватает, открываются новые, по мере уменьшения общего количества запросов — «лишние» каналы закрываются.
Этот балансировщик можно использовать для распределения запросов по каналам, которые представляют собой по сути net.Socket. Для этого нужно внести изменения в метод по открытию и закрытию канала, добавлению запроса в канал.
В примере, который я опишу, используется библиотека pg, предоставляющая функционал по открытию сокетов к серверу с базой данных. При этом дефолтовое управление пулом коннектов, предоставляемое библиотекой, никак не используется.
Читать полностью »