如何解决Spring Boot由数据库通知有关值的任何更改
我有一个Spring Boot应用程序。我需要每15秒命中一次db /运行查询以检查status列的值。 现在,我想检查以下可能性,而不是每15秒查询一次数据
- 任何一种机制,其中数据库将自动通知应用程序,而无需明确查询(触发等?),如果是,请分享一个示例示例
解决方法
您正在查看的东西通常称为CDC (change data capture),它是一种广泛使用的软件设计模式。
有一些商业工具,例如Oracle GoldenGate,Hevo,它们实现了Oracle数据库的CDC。另外,您可能还想看看一些开源工具,例如JDBC Connector for Kafka和Debezium(带有community developed connector)。
几乎所有上述工具都会将捕获的数据更改作为事件发布到Kafka。因此,您需要将您的应用程序与Kafka集群集成。
,要减少一段时间内的操作,可以指定一个触发器。也许可以遵循的另一种策略是跟踪模式的大小。例如,
SELECT table_name,round(((data_length + index_length) / 1024),2) as SIZE_KB
FROM information_schema.TABLES
WHERE table_schema = DATABASE();
此查询将列出架构表行以及它们各自的大小(以Kb / Mb为单位)。大概可以在下面构造一个服务类,并跟踪大小变化并在25秒的间隔内更新负责的服务。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。