2012-07-13 102 views
0

可以说我有一个WCF服务在一台服务器上运行。缓存和负载平衡方法

现在我们介绍了一些用于性能原因的wcf服务缓存。

现在,如果我想做一些负载平衡....是否有一些现有的解决方案,将允许我的缓存也同步,当它生活在不同的服务器上?

我们如何处理这类问题?

也许一个解决方案是创建一个独立的CachingService,它将托管在另一个服务器上......但如果我想要负载平衡该服务,我需要以某种方式同步驻留在不同的缓存机器...

或者它可能没有事件有意义的负载平衡高速缓存服务器,但只有你的wcf服务?

回答

1

是的,有很多解决方案/产品(通常)同步服务器之间的缓存(memcached,ehcache和更多)。我个人发现,如果位置很近的服务器引用缓存表现更好。这是高速缓存,其中(可能有多个)高速缓存服务器首先“请求”分享加载和存储对象,然后共享对所有高速缓存服务器之间的对象的引用。

+0

这是如何工作的?我的意思是该对象缓存的serverA如何serverB我可以有一个对该对象的引用?因为serverA和serverB是物理上的2个不同的机器 – pdiddy 2012-07-13 16:28:55

+0

这是我几年前自己实现的对象缓存。 每个群集服务器都有自己的所有服务器列表并查询其他服务器,如果在另一台服务器上找到该对象,则在查询服务器的高速缓存中存储给定对象的完整地址,以便下一次请求同一对象时服务器不必重新查询所有群集服务器。我使用这种方法,而不是通过多播的即时通知来减少混乱信息 - 在我的特殊配置中它运行良好,但缓存系统也被设计为多播更新。 – 2012-07-16 13:48:15