Наш API должен отправить данные в Zapier, если некоторые конкретные данные были изменены в нашей БД.Доступ к тому же экземпляру setTimeout() из нескольких экземпляров Node.js
К примеру, у нас есть компании таблицу и если имя или адрес поле было изменено, мы вызываем крючок Zapier.
Иногда наш API принимает множество запросов на изменение в течение нескольких минут, но мы не хотим, чтобы вызвать Zapier крючок несколько раз (так как это довольно дорого), поэтому мы называем setTimeout()
(и перезаписывает существующие setTimeout
) на каждый запрос на изменение, с задержкой 5000ms
.
Он отлично работает, и нет нескольких вызовов крюка Zapier, даже если мы получим много запросов на изменение от клиента в этом периоде 5000ms
.
Теперь, поскольку наш трафик растет, мы хотели бы установить несколько экземпляров node.js за некоторым балансировщиком нагрузки.
Но в этом случае разные экземпляры Node.js не могут использовать - и перезаписать - тот же самый экземпляр setTimeout
, что вызовет много бесполезных вызовов Zapier.
Не могли бы вы помочь нам, как решить эту проблему - оставаясь масштабируемым?
Я добавил небольшой пример. –