
Внедрение rate limiting на уровне сети с использованием eBPF и Go
Почему ваш ограничитель скорости в пользовательском пространстве, вероятно, плачет Если вы когда-либо пытались реализовать ограничение скорости в пользовательском пространстве, то знаете это чувство. Пакеты поступают на сетевой интерфейс, проходят через несколько уровней ядра, обрабатываются системными вызовами, и к тому времени, когда ваша тщательно продуманная логика ограничения скорости получает возможность их проверить, вы уже проиграли битву за производительность. Это как пытаться остановить цунами садовым шлангом, катаясь на роликах. eBPF (расширенный Berkeley Packet Filter) меняет всё уравнение....



