我计划构建一个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来发送这些消息,但不知道这是否是实现此类功能的正确方式。我自己从来没有在API之间做过这种Observer-pattern。
你对这个话题有什么建议吗?
编辑:Apache Kafka和RabbitMQ只是示例。我在征求你的建议,哪种技术最适合这种情况。它可以是一个根本没有这些类型的消息传递服务的解决方案。
发布于 2019-03-11 18:22:13
Apache Kafka基于基于推送和拉取的mechanism.Producer推送主题数据,消费者从topic.We可以定义消费者的轮询间隔中提取数据。
它不是基于观察者设计模式的。然而,rest服务可用于数据摄取和数据消费,即kafka rest proxy。
例如,当用户数据发生更改时,我们使用生产者Rest ServiceKafka Rest Proxy.We在主题UserTopic上注册了五个消费者,他们将使用消费者Rest ServiceKafka Rest代理来使用数据。
https://stackoverflow.com/questions/55098920
复制相似问题