1

感谢您的帮助:

我们计划购买SQL Server 2008 R2 Web 版(我们必须这个版本),但是我们也想使用Service Broker的功能来实现SqlCacheDependency - 通知模式轮询模式)。

http://msdn.microsoft.com/en-us/library/cc645993%28v=sql.105%29.aspx据说Web版对Service Broker(消息传递)的支持是:“仅限客户端” - 所以某种简洁版本。

我们的服务器环境是:

  • 一个带有两个 Web 应用程序的 Http 服务器
  • 具有单个 SQL Server 2008 R2 Web 版实例的数据库服务器。

这个想法是:当新记录添加到数据库表时,sql server 应该通知两个 web 应用程序并重置它们的缓存(所以我们将有两个完整的缓存)。我们不打算创建分布式缓存(MemCache 或 sth)

有什么方法可以结合这两个需求(SqlCacheDependency 在 SqlServer 2008 R2 的 WebEdition 中通过 Service Broker 通知)?购买一个模块,或者一些服务器架构技巧。有什么想法吗?

提前致谢。

4

1 回答 1

4

“仅限客户”有点用词不当。这意味着交换服务的两个 Service Broker 服务必须通过至少一个更高版本的版本来路由消息。Express Edition 不能与另一个 Express Edition 交换消息,除非标准(或更高)版本服务器在它们之间路由消息。

虽然这具有教育意义,但对您来说也完全无关紧要,因为查询通知(SqlCaheDependency 操作方式背后的功能永远不必将消息远程发送到另一个 SQL Server 实例。都是本地的,所以“仅限客户端”的限制永远不会适用。为了 100% 准确,我应该补充一点,SqlCacheDependency 使用查询通知的方式从不需要远程消息传递,但这很麻烦。

我建议您阅读链接的文章,您的帖子对这项技术的工作原理有很多误解。

于 2013-02-13T14:13:50.523 回答