Наблюдатели API, уведомляют подписчиков через REST API - PullRequest
0 голосов
/ 11 марта 2019

Я планирую создать веб-приложение, где пользователи могут обновлять некоторые данные.Другие разработчики должны иметь возможность подписаться на мое приложение через API и получать уведомления об изменении данных.С этим уведомлением должны быть изменены данные, отправленные подписчику.Затем приложение подписчиков автоматически обрабатывает полученные данные.

User changes data -> My webapps' datastore is being updated -> Notify all subscribers via REST or something like that over the internet -> Subscribers process changed data

Я в настоящее время на этапе планирования, и мойПроблема в том, какую технологию использовать для создания этой системы уведомлений.

Я не знаю код подписывающихся приложений, поэтому интерфейс между моим приложением и подписывающим приложением должен быть чем-то вроде REST API.

Я думал об использовании Apache Kafka или RabbitMQ для отправки этих сообщений, но не знаю, является ли это правильным способом реализации такой функциональности.Я никогда не делал такого рода Observer -шаблон между API.

Есть ли у вас какие-либо предложения по этой теме?

РЕДАКТИРОВАТЬ: Apache Kafka и RabbitMQ были только примерами.Я прошу ваши предложения, какая технология лучше всего подходит для этой ситуации.Это может быть решение без этих типов служб обмена сообщениями вообще.

1 Ответ

0 голосов
/ 11 марта 2019

Apache Kafka основан на механизме, основанном на push и pull. Производитель отправляет данные по теме, а потребитель получает данные из этой темы. Мы можем определить интервал опроса для потребителя.

Itне основан на шаблоне проектирования наблюдателя.Однако остальные службы доступны для приема и использования данных, которые известны как kafka rest proxy .

Как и при изменении пользовательских данных, мы записываем эти изменения в тему, такую ​​как UserTopic, с помощью Producer Rest Service.[Kafka Rest Proxy]. Мы уже зарегистрировали пять потребителей по теме UserTopic, они будут использовать данные с помощью Consumer Rest Service [Kafka Rest Proxy].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...