gpt4 book ai didi

rest - 如何在应用服务器集群上运行系统范围的操作?

转载 作者:行者123 更新时间:2023-11-28 23:53:46 25 4
gpt4 key购买 nike

我正在一组非集群 tomcat 服务器上运行我的应用程序。它提供 reSTLet 网络服务。根据 Restful 范式,每个调用都是无状态的。

在此环境中,我希望应用程序定期检查数据库的状态变化并采取行动。由于其中一项操作是发送电子邮件,我想确保在每个审核期间我不会多次检查特定记录的状态。

我知道消息传递可以帮助解决这种情况,但我不明白究竟如何。周期性事件可以由应用程序的每个实例生成。有没有一种方法可以消除消息队列中类似消息的抖动?什么工具最适合解决这个问题?

最佳答案

您应该能够通过消息队列提供记录“ids”。如果您的应用程序正在监听队列,那么每条消息都将被其中一台服务器拾取,并且该服务器可以检查该 ID。问题是初始消息的生成。您需要一个馈送进程来查询要审查的记录,然后将消息放入队列。

当然,如果您这样做,您可以通过 id 或多个 Id 将 POST 发送到您的 reSTLets,并让它们以这种方式工作。它不是异步的,但如果您只是想跨节点分配负载,它实际上并不需要异步。如果您的节点前面有一个负载均衡器,那么您只需将您的审核请求发布到负载均衡器,它就会在服务器之间传播请求。

如果您不能使用特定的记录 ID...那么选择一些自然的方式来分区您的数据并像推送 ID 一样推送该分区键。根据数据集的大小,您可以推送“城市/州”或“名称的前两个字母”或“地区”或任何将您的数据集分成小的可管理 block 的内容。

关于rest - 如何在应用服务器集群上运行系统范围的操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3907985/

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