四、 分布缓存是如何工作的
图3描述了分布缓存模式,并提供了文件缓存和检索过程的简要说明。
图3
分布缓存请求数据的过程与托管缓存类似,除了被请求的数据发送到内部网络的客户端中,并且不需要缓存服务器。
1. 分支机构的Windows 7客户端连接到运行Windows Server 2008 R2的总部数据中心,请求所需内容,这个过程与不使用Branch Cache获取内容时一样。
2. 数据中心服务器对客户端进行验证,并验证其是否有权访问数据。如果验证成功,数据中心服务器将使用原来的通信通道返回一个内容元数据,而不是内容本身。
3. 客户端使用内容元数据中的标识符在分支本地网络搜索。由于还没有客户端检索过该内容,它还没有被缓存到分支本地网络。因此,客户端A会直接从总部数据中心检索内容并缓存到客户端本地。
4. 客户端B也从总部数据中心请求相同的内容。数据中心也对客户端进行验证和授权,像没有启用Branch Cache一样。如果验证成功,也会返回一个请求内容的元数据。
5. 客户端B在分支本地网络使用WS-Discover组播协议请求数据内容。
6. 客户端A使用SSL加密通道将已缓存的内容数据发送给客户端B。
7. 客户端B解密数据,并校验收到的缓存内容的哈希值,与总部数据中心提供的值进行比较。确保获得的内容没有被修改。
关于Branch Cache的元数据:为了能确保传递正确的内容给发出请求的客户端,启用了Branch Cache的服务器会使用哈希值来确定内容。当用户访问启用了Branch Cache的文件或web服务器时,会返回给用户一个SHA-256的哈希值,而不是内容本身的哈希值。由于这个元数据值小于真实内容的数千倍,所以大大降低了通过广域网链路的数据量。
总结:通过上面的描述,想必大家对Branch Cache已经有一定了解了。下一篇,将开始在Contoso公司的广州办部署Branch Cache,看看它到底是如何解决广州办员工的烦恼的。