首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Java/MySQL向node.js发送信号的最有效方式是什么?

问从Java/MySQL向node.js发送信号的最有效方式是什么?
EN

Stack Overflow用户
提问于 2011-12-13 06:38:36
回答 2查看 731关注 0票数 0

我需要从在每个node.js操作上运行实时(且对时间敏感)的MySQL应用程序发出信号(任何websocket服务器都可以)。

我正在寻找最好的选择,到目前为止,我想出了:

a) MySQL上的触发器

然后,MySQL自己向websocket服务器发送信号,将更新推到客户端。

b) Java服务器

Java将发出node.js/任何将新数据推送到客户端的信号。

我认为让MySQL来处理发送node.js的工作负载对于Java来说会更有效(这是时间敏感的)。

还有第三种选择吗?比下面描述的要好吗?

EN

回答 2

Stack Overflow用户

发布于 2011-12-13 08:18:18

您应该使用类似于Redis或ZeroMQ的方法在Java之间创建一个通信通道。Java将通过该通道发送一条消息,Node将拦截它并将其推送到MySQL,当它完成时,后者将响应。

对我来说似乎还不错,因为Java不会等待任何响应,也因为Node和MySQL之间的异步通信(带有回调和触发器)。

票数 2
EN

Stack Overflow用户

发布于 2011-12-13 06:43:00

首先,您必须确定哪个实体/活动在逻辑上生成信号。它是MySQL上的insert还是由Java应用程序执行的插入。是否有其他应用程序修改MySQL DB?如果没有,我会亲自将所有事件发布到一个队列(另一个进程)中,node.js服务器将监听该队列。在这里使用具有Node.js和Java客户端的队列会有所帮助。这样,数据库上的负载将最小化,体系结构将独立于DB/application (假设您从所有使用MySQL的应用程序中向队列发布更新)。

其中一个这样的队列就是贝斯塔尔德。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8485312

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档