gpt4 book ai didi

Java - 两个应用程序之间的缓存同步

转载 作者:行者123 更新时间:2023-12-01 12:19:13 25 4
gpt4 key购买 nike

我想听听您的专业建议..

场景]
有两个基于java的应用程序(假设有两个节点),并且都有缓存数据。如果某个节点的缓存刷新,则需要同步缓存的数据。例如,Tom 最近获得了应用程序 A 的写入权限,这也应该反射(reflect)在应用程序 B 中。

挑战]
两个节点不是集群友好的,唯一的通信方式是通过数据库。

问题陈述]
我们如何从一个节点获取触发器以在另一节点上启动缓存刷新(并且由于策略而无需使用第 3 方库)?

我目前正在尝试的一种方法是实现DatabaseChangeListener,当发生任何事件(DatabaseChangeEvent)时,它将被激活。我可以尝试的另一种方法是轮询,但我认为这不是一个好的做法,因为这会产生大量无用的线程(可能会发生内存泄漏)。

我们将非常感谢您的意见:)

最佳答案

我认为最好的方法是通过网络通知第二个集群 - 您可以使用套接字。

如果您确实无法从一个节点到达另一个节点(当两个节点都可以看到数据库服务器时,我看不出任何原因),那么您可以使用 PL/SQL(甚至 Oracle DB 中的 Java)来将 HTTP 请求发送到触发器中的第二个节点。更多详情请参阅:http://docs.oracle.com/cd/B19306_01/appdev.102/b14258/u_http.htm

关于Java - 两个应用程序之间的缓存同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26809503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com