Отидете по пример Ограничаване на скоростта
Ограничаването на тарифите е важен начин за управление на използването на ресурси и осигуряване на качество на услугата. Go предлага елегантен начин за ограничаване на скоростта с помощта на програми, канали и броячи на отметки.
Нека първо разгледаме основното ограничение на скоростта. Да предположим, че искате да ограничите скоростта на обработка на входящите заявки. Ще вземем тези заявки от канала за заявки .
Ограничителният канал ще получава стойност на всеки 200 милисекунди. Това ще бъде регулаторът на скоростта в нашата верига.
Като блокираме приемането на стойности от ограничителния канал преди обработката на всяка заявка, ще се ограничим до 1 заявка на 200 милисекунди.
Може да искате да организирате малки пакети от заявки в схема за ограничаване на скоростта, като същевременно запазите общата граница на скоростта. Това може да се направи с помощта на буфера на канала burstyLimiter. Този канал ви позволява да използвате размер на пакета до 3 събития.