Ste*_*ler 6 java load-balancing amazon-web-services cache-invalidation
我在AWS上托管了一个基于Java的Web应用程序.它被读取 - 大多数情况下,缓存从数据库中检索的对象以获得性能是很有意义的.
当我更新一个对象时,我希望能够向所有服务器广播该对象的保存,并且它应该从所有本地缓存中失效.
不需要是实时的.过时的物体很烦人,需要在大约20秒内冲洗.用户注意他们是否坚持了几分钟.缓存失效不必发生在保存对象的毫秒之后.
我想到了两个选择。第一种是使用Amazon SNS,它可以使用 SQS 作为交付后端。不过,这可能有点矫枉过正,因为它被设计为许多交付类型(包括电子邮件和短信)的前端。
我尝试的方法类似于 Comet 风格的推送通知。让每台具有缓存的计算机打开一个与负责处理更新的服务器的长期 TCP 连接,并从该服务器向每个正在侦听的服务器发送一条紧凑的“无效”消息。作为一种特殊用途的协议,这可以用最小的开销来完成,也许只需发送对象 ID(以及必要时的类)即可。
| 归档时间: |
|
| 查看次数: |
963 次 |
| 最近记录: |