【问题标题】:caching and load-balancing approaches缓存和负载平衡方法
【发布时间】:2012-07-13 16:14:10
【问题描述】:

假设我有一个在一台服务器上运行的 WCF 服务。

现在,出于性能考虑,我们在 wcf 服务上引入了一些缓存。

现在,如果我想做一些负载平衡......是否有一些现有的解决方案可以让我的缓存在不同服务器上时也可以同步???

我们如何处理这些问题?

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

或者也许对缓存服务器进行负载平衡没有意义,而只是对您的 wcf 服务进行负载平衡???

【问题讨论】:

    标签: soa distributed-caching


    【解决方案1】:

    是的,有很多解决方案/产品(通常)在服务器(memcached、ehcache 等)之间同步缓存。我个人发现,在靠近位置的服务器引用缓存的情况下表现更好。也就是缓存,其中(可能多个)缓存服务器在第一次“请求”的基础上共享负载和存储对象,然后在所有缓存服务器之间共享对对象的引用。

    【讨论】:

    • 这是如何工作的?我的意思是该对象是由 serverA 缓存的 serverB 我如何才能引用该对象?因为 serverA 和 serverB 在物理上是两台不同的机器
    • 这是我几年前自己实现的对象缓存。每个集群服务器都有自己的所有服务器列表并查询其他服务器,如果在另一台服务器上找到对象,则给定对象的完整地址存储在查询服务器的缓存中,因此下次请求相同的对象时,服务器不必重新-查询所有集群服务器。我使用这种方法而不是通过多播的即时通知来减少混乱的消息 - 在我的特定配置中它运行良好,但缓存系统也被设计为多播更新。
    猜你喜欢
    • 2016-05-05
    • 1970-01-01
    • 2021-04-23
    • 2012-04-25
    • 2011-04-21
    • 2013-01-04
    • 2017-09-21
    • 2014-04-18
    • 2011-04-15
    相关资源
    最近更新 更多