[#] [Из песочницы] Управление действиями процессов. Не превышение лимита RPS (QPS) API
habrabot(difrex,1) — All
2016-07-01 16:00:03


![image][1]

###### _Структурно-функциональная схема модуля_


Хочу рассказать о разработанном и используемом в продакшне модуле Publisher Pulsar ([github][2]), который позволяет **синхронизировать действия процессов. **

Например, есть множество (десятки или сотни) процессов, независимо друг от друга обращающихся к API Google Analytics с одного IP.

При этом, GA установлен лимит в [10 queries per second][3] с одного IP.

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

[Читать дальше →][4]

[1]: https://raw.githubusercontent.com/jamset/publisher-pulsar/master/images/publisher-pulsar-schema.jpg
[2]: https://github.com/jamset/publisher-pulsar
[3]: https://developers.google.com/analytics/devguides/config/mgmt/v3/limits-quotas
[4]: https://habrahabr.ru/post/304536/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut