AppFabric缓存 - Read-Through / Write-Behind策略

时间:2012-09-04 09:07:21

标签: architecture appfabric appfabric-cache

在我们的新项目中,我们希望AppFabric缓存成为关键组件。作为一般准则,我们将有一个写模型/域和一个读模型/域:后端服务由提供商/其他服务通知,并将根据业务规则放入缓存一些数据。 前端服务/网站将根据需要使用数据。

Read-Through / Write-Behind似乎是一种很好的方法。但是如何将其实现为真正的业务解决方案?我见过的每个例子都使用ADO.NET的简单查询来加载数据。在我们的例子中,加载数据是依赖于业务的,并且涉及许多程序集和交互。将我们所有的业务部署到每个缓存主机似乎不是一个好的解决方案。

另一种方法是为每个域提供一个唯一的服务,负责从缓存中获取/读取并写入/放入缓存。不理想,会降低性能,因为它将成为AppFabric缓存的包装。

如果您有任何其他问题,请不要犹豫。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

此类案例的一种可能解决方案是您可以创建一个服务(可能驻留在数据库服务器中),其中包含访问数据的所有业务逻辑和规则。而每个直通/后写提供商都会联系该服务以加载数据。这样,您就不需要在每个缓存服务器计算机上部署业务逻辑和相关程序集,并且可以同时使用直读/后写功能。

对于缓存解决方案,您还可以查看NCache提供read-through, write-behind(async) and write-through(sync)功能的更多可配置选项,如批量后写操作和重试等,以防止后写失败。