我们正在构建一个连接到MySQL数据库的Node.js应用程序。该应用程序的主要目的是管理体育赛事;管理条目,绘图,结果等。我们在托管服务提供商(全球实例)上托管此应用程序,但由于我们不希望在事件位置使用失败的互联网连接承担任何风险,我们也希望成为能够运行与全局实例通信的此服务器的本地实例。
本地实例必须是特定事件的“主”实例,我们希望用它来编辑匹配信息。我们希望将全局实例用作“发布”服务器,为网站上的观众提供实时匹配信息。
因此,我们计划执行以下操作:
在全局实例(MySQL)上:掌握“主”数据库(包含用户信息等)并从事事件特定数据库。
在本地实例(MySQL)上:从属于“主”数据库并掌握事件特定数据库。
一旦我们将结果保存在本地事件数据库中,它就会开始使用全局数据库复制该信息。
问题
我们的问题是我们希望尽快发布实时比赛信息。但我们不知道如何判断全局node.js应用程序的数据库是否已更新。长期轮询MySQL数据库似乎不是一个好主意。从本地发送事件到全局node.js应用程序可能是一个解决方案,但是本地应用程序需要知道复制何时完成。
我们一直在考虑这个问题。有没有办法在复制准备好时生成Node.js事件,或者是否有一个完全不同的方法可以用来获得相同的结果?
答案 0 :(得分:1)
MySql Enterprise Monitor允许使用SMTP or SNMP报告复制事件。
有两个节点模块,例如SNMP的node-snmp-server或SMTP的simplesmtp。
因此,可以在MySQL Enterprise Monitor中配置警报并在节点进程中实现侦听器以接收通知。