Привет! Не так давно столкнулся с задачей разработки альтернативного решения для ограничения сетевого трафика. Такая задача возникла в рамках разработки системы лицензирования для продукта класса NGFW (Next Generation Firewall). Используя такую систему ограничений можно было бы предусмотреть несколько видов лицензий на коммерческое использование продукта, где в зависимости от уровня приобретенной лицензии можно было бы предоставлять полную, либо урезанную функциональность продукта в части его производительности. В этой статье хочу поделиться опытом решения данной задачи.
Рубрика «rate-limit»
Управление ядрами ЦПУ при обработке сетевого трафика
2024-11-12 в 13:16, admin, рубрики: ethtool, highload, linux, mellanox, nc, rate-limit, rss, ограничение трафика, сетевые карты, Сетевые технологииКак потреблять API с ограничением по RPS в .NET приложениях
2024-05-02 в 9:00, admin, рубрики: api, csharp, dotnet, rate limiter, rate limiting, rate-limit, rps, ruvds_статьи, throttlingОднажды каждый C# программист получает на работе задачу по разработке интеграции с внешней системой, где ограничена максимальная частота запросов в секунду.
Интернет яростно сопротивлялся предоставить мне инструкцию к написанию такого кода, закидывая туториалами по настройке ограничения RPS на сервере, а не клиенте.
Но теперь на Хабре есть эта статья, которая научит отправлять запросы из HttpClient
так, чтобы не получать 429 Too Many Requests
.Читать полностью »
Вспомнить всё: Java-конференция JET. 28 сентября 2015. Отчёт
2016-03-16 в 1:08, admin, рубрики: akka, ast transformations, data mining, groovy, java, jet, jvm, rate-limit, scala, scalan, scalaz, spring framework, tdd, unsafe, метки: jet Меня зовут Дима и я разработчик. Живу в Минске, люблю посещать зарубежные конференции. Ну вот устал однажды ездить и решил сходить локально. Но выбора было мало. Поэтому вдвоём со своим верным товарищем решили сделать конференцию самостоятельно.
Назвали JET. Потому что начинается с J, как и Java, а ещё можно сделать слоган "Let's fly to Java world". Ну что же, как это было?
Открытие
Началось все с выступления организаторов, где мы поделились тем, как зарождалась идея конференции. Рассказали о том, как мы прошли путь в 4 месяца подготовки, и что по итогу получилось. А получилось — 3 потока концентрированных знаний, 300 участников и первый кирпичик в фундаменте дома конференции JET.
Введение в ограничение числа запросов с Redis [часть 1]
2014-10-23 в 8:06, admin, рубрики: Lua, nosql, python, rate-limit, redis, translationЗа последнее время я написал несколько разных способов ограничения числа запросов с помощью Redis. Как в коммерческих, так и в личных проектах. В двух частях этой публикации я хочу охватить два разных, но связанных способа ограничивать число запросов — с использование стандартных команд Redis и с помощью Lua скриптов. Каждый последующий из описанных методов будет добавлять новые варианты использования и решать огрехи предыдущих.
Эта публикация предполагает, что у вас есть некоторый опыт работы с Python и Redis и, в меньшей степени — с Lua, но и тем, у кого такого опыта нет, тоже будет интересно.
Зачем ограничивать число запросов?
Например, Twitter ограничивает количество запросов к своему API, а Reddit и StackOverflow используют ограничения на количество сообщений и комментариев.
Читать полностью »
Ограничиваем скорость на маршрутизаторе Cisco. Технология rate-limit
2013-03-14 в 14:04, admin, рубрики: Cisco, qos, rate-limit, Песочница, Сетевые технологии, метки: Cisco, qos, rate-limit Всем привет. Хочу поделиться своим опытом по настройке ограничений скорости на маршрутизаторах Cisco.
Итак, для начала немного расскажу о том, зачем это понадобилось. Скажем, построили мы небольшую Hub-and-Spoke сеть. Каналы связи у нас небольшие, например, 2 Мбит/c каждый. Сеть небольшого предприятия, которое со временем начинает разрастаться и трафик в этих каналах тоже увеличивается.
Пример из жизни. Есть центральный офис и несколько филиалов. Основной трафик — это ERP-системы и обновления софта. Каналы 2 Мбит/c не нагружены, все работает, всех устраивает. Тут в филиале появляется сервер видеонаблюдения, с которого идут видеопотоки на центральный офис, когда там служба безопасности просматривает камеры. При этом канал загружается под 100% и начинаются проблемы. То есть, необходимо весь трафик, идущий к видео серверу урезать.
Как это сделать. Сразу же приходят на ум два варианта:
- rate-limit
- traffic-shape
Чем эти два способа отличаются? Читать полностью »
Создание шейпера на JunOS
2013-03-05 в 12:01, admin, рубрики: juniper, rate-limit, Shape, VLAN, Сетевые технологии, системное администрирование, метки: juniper, rate-limit, Shape, VLANНедавно понадобилось создание шейпера на пограничном маршрутизаторе в качестве которого используется Juniper MX80. Хорошего полного мануала так и не удалось найти, потому и решил поделиться с community. Настройка оказалась довольно проста. Итак…
1. Создаем данные шейпера. Например, 10мбит/с.
firewall
policer rate-test {
if-exceeding {
bandwidth-limit 10m;
burst-size-limit 50k;
}
then discard;
}
burst-size рассчитывается таким образом: bandwidth-limit x 0.005 seconds x 1 byte / 8 bits
2. Создаем правила файервола для применения данного policy. Отдельное правила для входящего и исходящего трафика.
firewall
family inet
filter rate-test-in {
term shape {
from {
source-address {
х.х.х.х/32;
}
}
then policer rate-test;
}
term normal {
then accept;
}
}firewall
family inet
filter rate-test-out {
term shape {
from {
destination-address {
х.х.х.х/32;
}
}
then policer rate-test;
}
term normal {
then accept;
}
}
}
3. Применяем правило на интерфейсе или конкретном юните
interface ge-1/1/9.0
family inet {
filter {
input rate-test-in;
output rate-test-out;
}
Вот и все. Разнообразные тесты показали довольно хороший и точный результат.