Как стать автором
Обновить

Основы масштабирования

Разработка веб-сайтов *
Прочитав в этом блоге о балансировке на стороне клиента, решил опубликовать свою статью, в которой описаны основные принципы масштабирования для web-проектов. Надеюсь, хабралюдям будет интересно почитать.

Основы масштабирования



Масштабируемость — способность устройства увеличивать свои
возможности
путем наращивания числа функциональных блоков,
выполняющих одни и
те же задачи.
Глоссарий.ru

Обычно о масштабировании начинают думать тогда, когда один
сервер не справляется с возложенной на него работой. С чем именно он не
справляется? Работа любого web-сервера по большому счету сводится к основному
занятию компьютеров — обработке данных. Ответ на HTTP (или любой другой) запрос
подразумевает проведение некоторых операций над некими данными. Соответственно,
у нас есть две основные сущности — это данные (характеризуемые своим объемом) и
вычисления (характеризуемые сложностью). Сервер может не справляться со своей
работой по причине большого объема данных (они могут физически не помещаться на
сервере), либо по причине большой вычислительной нагрузки. Речь здесь идет,
конечно, о суммарной нагрузке — сложность обработки одного запроса может быть
невелика, но большое их количество может «завалить» сервер.

Читать дальше →
Всего голосов 68: ↑67 и ↓1 +66
Просмотры 57K
Комментарии 49

Практический JS: балансировка на стороне клиента

Клиентская оптимизация *
Перевод
Примечание: ниже находится перевод статьи «Client Side Load Balancing for Web 2.0 Applications», в которой затрагиваются вопросы балансировки нагрузки между несколькими серверами и рассматривается решение, обеспечивающее балансировку такой нагрузки прямо на компьютере клиента.

Сервер обрабатывает HTTP (HyperText Transfer Protocol) запросы со стороны браузеров. Если вы введете в адресной строке URL, например, www.digital-web.com, то ваш компьютер отправит поисковый запрос для определения, какие именно сервера будут обрабатывать ваш запрос и пересылать данные. Техника обработки таких запросов для кластера веб-серверов называется балансировкой нагрузки.

Балансировка нагрузки для веб-приложений



Балансировка нагрузки повышает надежность веб-сайта путем распределения запросов между несколькими (кластером) серверами, если один из них перегружен или отказал. Существует много методов по обеспечению такого поведения, но все они должны удовлетворять следующим требованиям:

  • Распределять нагрузку внутри кластера рабочих серверов.
  • Корректно обрабатывать отказ одного из рабочих серверов.
  • Весь кластер должен существовать для конечного пользователя как одна-единственная машина.


читать дальше на webo.in →
Всего голосов 25: ↑20 и ↓5 +15
Просмотры 1.4K
Комментарии 12

Баланс

Habr
До недавних пор база данных нашего ресурса обслуживалась на пару двумя серверами: Bonnie и Clyde. Clyde — основной сервер проекта, отвечающий на все запросы, Bonnie — сервер, поддерживающий базы других проектов и слейв-клиент базы суперхабра.

Clyde хорошо справляется со своим делом, была проведена большая работа по оптимизации базы, так что он вполне перемалывал все обращения при генерации миллиона с лишним документов в сутки. Однако, в моменты непредсказуемых пиковых скачков нагрузка время от времени переваливала за допустимые пределы.

Учитывая постоянно растущий объём данных и нагрузку, настала пора предпринять шаг в сторону масштабирования аппаратных ресурсов базы данных.

что из этого вышло
Всего голосов 97: ↑85.5 и ↓11.5 +74
Просмотры 878
Комментарии 57

CISCO ACE — балансировка приложений

Информационная безопасность *
Из песочницы
Всем привет!

Хочу немного рассказать о семействе оборудования для Центров обработки данных от CISCO – CISCO ACE (Application Control Engine). В этой статье будут затронуты такие вопросы как предназначение устройств, архитектурные особенности, возможности применения, настройка основных функций. Больших тонкостей работы материал не предусматривает, скорее рассчитан на тех, кто думает о внедрении подобных устройств, пытается сделать выбор, хочет понять как такое оборудование поможет оптимизировать сетевую инфраструктуру, повысить доступность и время внедрения сервисов.

Читать дальше →
Всего голосов 14: ↑14 и ↓0 +14
Просмотры 19K
Комментарии 26

CISCO ACE. Часть 2: балансировка удаленных серверов и приложений

Информационная безопасность *


В первой части CISCO ACE — балансировка приложений мы немного окунулись в мир балансировки приложений и сетевых ресурсов. Познакомились с характеристиками, предназначением и возможностями семейства таких устройств. Рассмотрели основные сценарии внедрения и преимущества, которые нам приносит использование балансировщиков.

Вероятно многие поймали себя на мысли о том, что это очень дорого и не увидели преимуществ, которые именно им может предоставить промышленный балансировщик. В посте я уделю внимание именно этому моменту и постараюсь показать, что сервисом может воспользоваться большинство.

Читать дальше →
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 12K
Комментарии 6

Балансировка входящих соединений на iptables

*nix *
Из песочницы
Предположим, что у вас есть некий сервис, принимающий входящие соединения и возникла задача балансировки нагрузки и/или отказоустойчивости.

В общем виде схема выглядит так:
клиент ----> балансировщик ---> бэкенд (сервис)


Готовых балансировщиков под конкретные нужды множество. Например, nginx — отличный балансировщик для веб-приложений, haproxy для tcp-соединений.

Так почему iptables?
Всего голосов 37: ↑36 и ↓1 +35
Просмотры 25K
Комментарии 16

Макрос для балансировки исходящих звонков на GSM в Asterisk

Asterisk *Разработка систем связи *
Tutorial
Привет, Хабр!

В прошлом топике(уже в черновиках) я обещал предоставить хабрасообществу действующий макрос для балансировки исходящих звонков через N-ное количество сим-карт. Сабж, собственно, найден, усовершенствован и протестирован. Плюс — он гарантирует, что симка с превышенным лимитом использоваться не будет.
Шо, опять?
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 12K
Комментарии 16

Лишние элементы или как мы балансируем между серверами

Блог компании Онлайн-кинотеатр IVI
Привет, Хабр! Какое-то время назад люди осознали, что увеличивать мощность сервера в соответствии с ростом нагрузки просто невозможно. Тогда-то мы и узнали слово «кластер». Но как бы красиво это слово не звучало, всё равно приходится технически объединять разрозненные серверы в единое целое – тот самый кластер. По городам и весям мы добрались до наших узлов в моём предыдущем опусе. А сегодня мой рассказ пойдёт о том, как делят нагрузку между членами кластера системные интеграторы, и как это сделали мы.



Внутри публикации вас также ждёт бонус в виде трёх сертификатов на месячную подписку ivi+.
Читать дальше →
Всего голосов 35: ↑31 и ↓4 +27
Просмотры 34K
Комментарии 89

Опять суровый Open source для госкомпаний и большого бизнеса с примерами решений. Я в него верю, если что

Блог компании КРОК Open source *Анализ и проектирование систем *

Я (справа) пытаюсь объяснять крупному бизнесу, что такое опенсорс, а мой коллега слева придает опенсорсным решениям душевности.

После того, как я рассказал про мифы опенсора, нас стали меньше спрашивать про то, правда ли в этой сфере только «гаражные» сисадмины. Плюс экономическая ситуация заставила многих не просто планировать вендорозамещение, а на полном серьёзе рассматривать опенсорсный софт. В общем, радость и ликование.

Но всё равно есть ещё много вещей, которые нужно объяснить. Поэтому я расскажу про кучу вопросов по почтовым серверам, виртуализации, граблям офиса и другим продуктам, которые мне чаще всего задают.

Начну не с этого. Начну с того, что напомню, что ещё 17 декабря 2010 г в распоряжении №2299-р В. Путин подписал план перехода федеральных органов власти и бюджетных учреждений на использование свободного ПО. Сейчас расскажу, как мы по плану уже живём в мире русского опенсорса.
Читать дальше →
Всего голосов 45: ↑38 и ↓7 +31
Просмотры 51K
Комментарии 20

Балансируем механику в играх

Разработка игр *
imageВ индустрии игр пользователь, как правило, получает готовый продукт, но с тем условием, что состав «конфеты» всегда будет скрыт. Можно покрутить конфету в руках, чтобы услышать шелест обертки. Или положить на стол и получать эстетическое наслаждение от сочетания красочных узоров на конфете с цветом рядом стоящей чашки. Но чтобы пользователь ни делал с этой конфетой, у него не получится попробовать, возможно, не всегда сладкий, но зато реальный вкус начинки.

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

Поговорим о балансе в играх. Например, мы захотели создать незатейливую RPGMMO-шечку «убийцу WoW», и у нас уже почти все готово, мы уже нафантазировали, какая в игре будет крутая механика боя и система умений. Дело осталось за малым – абстрактные мысли превратить в конкретные значения. Причем, каким-то образом, сочетание этих значений должно убедить пользователя в том, что фраза «баланс – говно» совершенно не может быть описательной характеристикой нашей механики. Посмею дать свою интерпретацию — «Как надо делать!».
Читать дальше →
Всего голосов 27: ↑19 и ↓8 +11
Просмотры 25K
Комментарии 9

Node.js в бою (создание кластера)

Разработка веб-сайтов *Node.JS *
Перевод
Tutorial
Когда вы используете приложения на node.js в продакшене, вам приходится задумываться о стабильности, производительности, безопасности и удобстве поддержки. Данная статья описывает мои мысли о лучших практиках использования node.js в бою.

К окончанию данного руководства вы получите систему из 3 серверов: балансировщик (lb) и 2 сервера приложений (app1 и app2). Балансировщик будет следить за доступностью серверов и распределять между ними траффик. Серверы приложений будут использовать комбинацию systemd и кластеризации node.js для балансировки траффика между несколькими процессами ноды на сервере. Вы сможете выкатывать код с помощью одной команды со своей машины, и при этом не будет перерывов в обслуживании или необработанных запросов.
Все это можно представить в виде схемы:


Читать дальше →
Всего голосов 37: ↑35 и ↓2 +33
Просмотры 66K
Комментарии 17

Балансировка исходящих вызовов через GSM-шлюз

Системное администрирование *
В нашей организации используется Астериск, а для исходящих вызовов к нему подключен GSM-шлюз Yeastar TG800 на 8 симок. Каждый месяц мы покупаем пакет минут на каждую симку.

Для совершения исходящего вызова обычно используется перебор симок по порядку, пока не найдется свободная:

exten => _X.,n,Dial(SIP/gsm1/${EXTEN},,tT)
exten => _X.,n,Dial(SIP/gsm2/${EXTEN},,tT)
exten => _X.,n,Dial(SIP/gsm3/${EXTEN},,tT)

и т. д.

В этом случае больше всего вызовов проходит через первую симку, а меньше всего через последнюю. Поэтому к середине месяца минуты на первых симках заканчиваются раньше, чем на последних, и возникает ситуация, когда позвонить можно допустим через 4 симки из 8, так как на первых четырех минуты закончились. Это плохо, так как остаются 4 исходящие линии вместо 8.

Чтобы этого избежать, нужно делать вызовы не в одном и том же порядке, а в соответствии с остатком минут на симках.
Читать дальше →
Всего голосов 11: ↑11 и ↓0 +11
Просмотры 6.3K
Комментарии 40

Сравнительный анализ методов балансировки трафика

Блог компании Конференции Олега Бунина (Онтико) Высокая производительность *Разработка веб-сайтов *Анализ и проектирование систем *Проектирование и рефакторинг *


Сергей Зубов (CDNvideo)


Сегодня я бы хотел дать некий обзорный доклад о балансировке трафика в высоконагруженных системах. Так как доклад обзорный, рассмотрим различные методы балансировки, что такое балансировка, в принципе, различные методы и алгоритмы балансировки, и озвучим плюсы и минусы того или иного метода.


Всего голосов 29: ↑27 и ↓2 +25
Просмотры 27K
Комментарии 18

Сравнение решений по балансировке высоконагруженных систем

Высокая производительность *Amazon Web Services *Google Cloud Platform *
И вновь мы публикуем расшифровки выступлений с конференции HighLoad++, которая прошла в подмосковном Сколково 7—8 ноября 2016 года. Сегодня Евгений Пивень знакомит нас с решениями балансировки в облаках.



Меня зовут Женя, я работаю в компании IPONWEB. Сегодня мы поговорим про развитие наших решений в балансировке высоконагруженных систем.

Сначала я пробегусь по понятиям, которыми буду оперировать. Начнём с того чем мы занимается: RTB, Real Time Bidding — показ рекламы с аукционом в реальном времени. Очень упрощенная схема того, что происходит, когда вы заходите на сайт:
Читать дальше →
Всего голосов 44: ↑44 и ↓0 +44
Просмотры 23K
Комментарии 9

Балансировка HTTP(S) трафика

Блог компании VK Серверная оптимизация *Сетевые технологии *Серверное администрирование *
Добрый день, %username%. Меня зовут Антон Резников, я работаю над проектом Облако Mail.Ru Сегодня я хочу рассказать о технологиях балансировки трафика, проиллюстрировав историей о развитии социальной сети. Все персонажи выдуманы, а совпадения почти случайны. Статья обзорная, составлена по следам доклада на Highload Junior 2017. Некоторые вещи могут показаться элементарными, но опыт проведения собеседований показывает, что это не совсем так. Кое-что будет спорным, не без этого.

Если интересно, добро пожаловать под кат.
Читать дальше →
Всего голосов 79: ↑79 и ↓0 +79
Просмотры 28K
Комментарии 18

Продление жизни аккумуляторам электроинструмента — часть 2

DIY или Сделай сам
Мда. С момента написания первой части прошло уже 4 года.
Время летит…


Как ни странно, мой шуруповерт Stayer все еще жив, хотя и побывал в ремонте. Также живы и 4 из 5 аккумуляторов (один пошел на элементы для восстановления остальных).
Выведенные на корпус батарей разъемы позволяли дозаряжать проблемные ячейки и поддерживать батареи в годном состоянии. Но, боже, как это нудно!
В общем, когда меня окончательно достал этот процесс, я начал усиленно копать инет в поисках чипа, годного для балансировки аккумулятора на 15 Ni-Cd элементов.
И. Сюрприз! Я такого чипа просто не нашел. Ну, вот нету и всё тут. Для литиевых еще туда-сюда (и то на меньшее количество «банок») для никеля — глухо. Или я искать не умею, или производителям просто плевать на эту нишу.

Но, нету в жизни не решаемых задач!
Всего голосов 27: ↑27 и ↓0 +27
Просмотры 27K
Комментарии 89

Обзор маршрутизатора Draytek серии 2912. Часть первая

Блог компании Цифровой Ангел Гаджеты Компьютерное железо
Сегодня на рынке широко представлены различные модели многофункциональных устройств, которые призваны максимально обеспечить малый или среднего размера офис сетевыми сервисами на базе одного устройства. Но среди них особняком, как и несколько лет назад, стоит продукция Draytek, это связано с тем, что продукция именно этого вендора задала планку простых в настройке, надёжных и функциональных сетевых «комбайнов» для офиса. Серия маршрутизаторов Draytek 2912, о которых пойдёт речь — это золотая середина, которая находится там, где уровень функционала и производительности маршрутизаторов операторского уровня требуется, но обычного домашнего или домашнего+ маршрутизатора, для решения сетевых задач офиса, недостаточно. К тому же, использование одного устройства экономически целесообразнее, чем держать несколько устройство под разные задачи, если они в среднем, являются типовыми, например, маршрутизация, межсетевой экран, VPN-сервер и прочее. Другая ключевая особенность маршрутизаторов Dryatek, которая сделала их популярным во всём мире, это качество и надёжность, которые компания вложила в устройства, начиная с качества материалов корпуса, микросхем и комплектующих и заканчивая качеством встроенного программного обеспечения. Ещё одна особенность маршрутизаторов Draytek– простота настройки и понятный интерфейс, поэтому многим администратором и инженерам нравится работать с Dryatek. Кстати, что касается документации, здесь тоже порядок, кроме официальных руководств, в Интернете и на сайтах Draytek есть множество примеров настройки маршрутизаторов и интеграции их с оборудованием других производителей.

Читать дальше →
Всего голосов 23: ↑14 и ↓9 +5
Просмотры 9.9K
Комментарии 13

Обзор маршрутизатора Draytek серии 2912. Часть вторая

Блог компании Цифровой Ангел Гаджеты Компьютерное железо
В первой части обзора мы подробно рассмотрели маршрутизатор Draytek серии 2912/2912n с таких сторон как позиционирование устройства на рынке, схему использования маршрутизатора, его ключевые функции и примеры их использования, ознакомились с подробной технической спецификацией устройства, посмотрели комплектацию и внешний вид маршрутизатора, подробно разобрали функции индикаторов и интерфейсов устройства. Всё увиденное нами, однозначно демонстрирует то, что устройство обладает очень широким возможностями, которые могут понадобиться предприятию уровня SMB/SOHO или небольшому филиалу крупной компании и поэтому устройство имеет огромный потенциал для использования в корпоративных сетях. Нагрузочное тестирование показало неплохие результаты, других результатов я не ожидал, ведь устройство далеко не начального уровня, поэтому обязано быть производительным.

image

В данной части обзора мы подробно рассмотрим веб-интерфейс устройства, познакомимся с его особенностям и примеру настройки таких функции и интерфейсов как WAN и LAN, Load-balancing, беспроводная сеть, VPN, сетевой экран, NAT управление пропускной способностью, а также функции USB, диагностики и мониторинга маршрутизатора.
Читать дальше →
Всего голосов 11: ↑7 и ↓4 +3
Просмотры 6.5K
Комментарии 2

Обзор маршрутизатора Draytek серии 2925. Часть первая: общий обзор, характеристики и тесты

Блог компании Цифровой Ангел Сетевое оборудование
В одном из предыдущих обзоров, опубликованном в двух частях, доступных по ссылкам: ч1 и ч2, мы познакомились с серией маршрутизаторов Draytek 2912, и убедились в том, что это функциональные и надёжные устройства. Мы продолжаем знакомить вас с решениями Draytek и переходим к ещё более мощной и функциональной серии маршрутизаторов Draytek 2925.


Читать дальше →
Всего голосов 12: ↑10 и ↓2 +8
Просмотры 17K
Комментарии 22

Обзор маршрутизатора Draytek серии 2925. Часть вторая

Блог компании Цифровой Ангел Сетевое оборудование
В первой части обзора серии маршрутизаторов Draytek 2925n, мы подробно рассмотрели, как устройство позиционируется на рынке, схему использования маршрутизатора, его ключевые функции и примеры их использования, ознакомились с подробной технической спецификацией, посмотрели комплектацию и внешний вид маршрутизатора, подробно разобрали функции индикаторов и интерфейсов устройства.


Читать дальше →
Всего голосов 21: ↑16 и ↓5 +11
Просмотры 9.6K
Комментарии 9
1