我们在 Web 应用程序中使用 mysqlserver 来跟踪我们当前和未来的工作状态。目前,我们的应用服务器 [tomcat] 实例会定期向 DB 服务器发送查询以查找最新的作业状态。您能否告诉我是否有办法将更新的作业状态从 mysql 服务器推送到 Web 服务器,而不是通过 Web 服务器轮询来查找更新的状态?请建议是否有其他更好的方法来避免这种轮询机制。另外,请让我知道是否有任何支持数据推送的数据库服务器。
谢谢。
我们在 Web 应用程序中使用 mysqlserver 来跟踪我们当前和未来的工作状态。目前,我们的应用服务器 [tomcat] 实例会定期向 DB 服务器发送查询以查找最新的作业状态。您能否告诉我是否有办法将更新的作业状态从 mysql 服务器推送到 Web 服务器,而不是通过 Web 服务器轮询来查找更新的状态?请建议是否有其他更好的方法来避免这种轮询机制。另外,请让我知道是否有任何支持数据推送的数据库服务器。
谢谢。
我在 SQL Server 方面没有太多经验,但我认为以下讨论和示例会对您有所帮助。
可以根据您的要求使用第二个参考的方法。
回复:其他数据库服务器。在 SQL Server 中实现消息传递的方式有多种。您可以创建一个按计划查询作业状态的服务器作业。此外,Service Broker 可能很有用。最后,在 .Net 应用程序中,您可以使用SqlDependency在查询结果更改时收到通知。
MySQL 没有内置任何功能来执行此操作。更新数据库的代码也通知 Web 服务器怎么样?或者您可以通知更新两者的服务。