我有一个托管在 AWS 上的基于 Java 的 Web 应用程序。它主要是读取的,因此缓存从数据库中检索到的对象以提高性能非常有意义。
当我更新一个对象时,我希望能够向所有保存该对象的服务器广播,并且它应该从所有本地缓存中失效。
不需要是实时的。陈旧的对象很烦人,需要在大约 20 秒内刷新。用户会注意到他们是否停留了几分钟。缓存失效不必在对象被保存的毫秒内发生。
我想到了什么
- 我研究了广播技术,就像 jGroups 一样,但 AWS 不支持 jGroups。
- 我不认为亚马逊的 SQS 消息服务可以做成广播服务。
- 我正在考虑为此目的使用数据库:我会将事件写入数据库表,并让每个服务器每隔几秒钟轮询一次该表以获取新的列表项。