代码之家  ›  专栏  ›  技术社区  ›  F. Baum

API观察员,通过REST API通知订阅者

  •  0
  • F. Baum  · 技术社区  · 7 年前

    我计划构建一个web应用程序,用户可以在其中更新一些数据。 其他开发人员应该能够通过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之间的模式。

    你对这个话题有什么建议吗?

    编辑: 阿帕奇·卡夫卡 RabbitMQ 仅为样本。我想征求您的建议,哪种技术最适合这种情况。它可以是一个完全没有这些类型的消息服务的解决方案。

    0 回复  |  直到 7 年前
        1
  •  1
  •   Rohit Yadav    7 年前

    Apache Kafka 基于推拉机制。生产者推送某个主题的数据,消费者则从该主题中提取数据。我们可以为消费者定义轮询间隔。

    它不是基于观测器设计模式。然而,rest服务可用于数据摄取和数据消费,这被称为 kafka rest proxy .

    就像当用户数据更改时,我们使用生产者Rest服务[Kafka Rest代理]将这些更改写在像UserTopic这样的主题上。我们已经在topic UserTopic上注册了五个消费者,他们将使用消费者Rest服务[卡夫卡Rest代理]来消费数据。

    推荐文章