登录 注册
当前位置:主页 > 资源下载 > 20 > 使用监视点替代显式缓存管理-源自intouch2017培训资料

使用监视点替代显式缓存管理-源自intouch2017培训资料

  • 更新:2024-08-21 17:35:14
  • 大小:4.44MB
  • 推荐:★★★★★
  • 来源:网友上传分享
  • 类别:算法与数据结构 - 大数据
  • 格式:PDF

资源介绍

4.6 通过监视点代替显式缓存管理 从应用的角度来看,客户端每次都是通过访问ZooKeeper来获取给 定znode节点的数据、一个znode节点的子节点列表或其他相关的 ZooKeeper状态,这种方式并不可取。反而更高效的方式为客户端本地 缓存数据,并在需要时使用这些数据,一旦这些数据发生变化,你让 ZooKeeper通知客户端,客户端就可以更新缓存的数据。这些通知与我 们之前所讨论的一样,应用的客户端通过注册监视点来接收这些通知消 息。总之,监视点可以让客户端在本地缓存一个版本的数据(比如,一 个znode节点数据或节点的子节点列表信息),并在数据发生变化时接 收到通知来进行更新。 ZooKeeper的设计者还可以采用另一种方式,客户端透明地缓存客 户端访问的所有ZooKeeper状态,并在更新缓存数据时将这些数据置为 无效。实现这种缓存一致性的方案代价非常大,因为客户端也许并不需 要缓存所有它们所访问的ZooKeeper状态,而且服务端需要将缓存状态 置为无效,为了实现失效机制,服务端不得不关注每个客户端中缓存的 信息,并广播失效请求。客户端数量很大时,这两方面的代价都非常 大,而且我们认为这样也是不可取的。 不管是哪部分负责管理客户端缓存,ZooKeeper直接管理或 ZooKeeper应用来管理,都可以通过同步或异步方式进行更新操作的客