我正在开发一个使用mongodb作为数据库的Web应用程序。数据通过Java应用程序插入到此数据库中,我想以某种方式监视/理解数据是从nodejs应用程序插入的,这样我就可以通过socket.io将一些信息推送到客户端。
我知道当我们从等式中删除Java部分并通过nodejs执行插入时,这很容易。但对我来说情况并非如此;所以我需要关于mongodb的指针 - nodejs推送一种东西......
如果解决方案只保留Java,Nodejs和mongodb,那将是非常好的。但是,如果必须包含其他第三方框架或技术(如mq),我将很高兴听到这一点。
答案 0 :(得分:3)
我建议你应该寻找apache kafka connect,它提供源连接器来监视你的mongo db。 Confluent 创建了mongo连接器,提供上述功能。您可以通过以上链接进行进一步研究。 Apache kafka是一个消息队列系统。
答案 1 :(得分:2)
我建议让Java应用程序让您的前端(节点)应用程序知道它何时发生了变化。这使得知道改变了什么以及系统如何进行更改的责任。观察数据库的变化听起来是个好主意,并且可能会起作用,但它更有可能导致问题。考虑:
如果您的前端只是被告知发生了什么变化以及如何获取资源以及何时发生,那么至少可以减轻所有这些问题。
你如何告诉你的前端取决于你。从Java到前端的简单HTTP调用很简单,如果有点不可靠和不可预测(加载方式)。像Amazon SNS这样的队列/通知服务可能会更强大一些。