![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