【问题标题】:Adding decision logic to Apache's mod_proxy_balancer with Memcache使用 Memcached 向 Apache mod_proxy_balancer 添加决策逻辑
【发布时间】:2010-08-12 06:18:13
【问题描述】:
我想要实现的是让 Apache 的 mod_proxy_balancer 检查是否已经使用 Memcache 存储发出请求。
基本上:
流媒体请求进来。
检查是否已使用 Memcache 提供流媒体。
如果是,该流媒体服务器是否可以处理另一个请求。
如果是,则向所述流媒体服务器发送请求。
如果不发送请求到排队的下一个流媒体服务器。
在 Memcache 中存储 key:value 对。
我的问题是:
mod_proxy_balancer 是否已经以某种方式做到了这一点?
有没有办法让 Apache 成为内容感知负载均衡器?
任何其他建议也将不胜感激,其他软件,其他方法等。
干杯。
【问题讨论】:
标签:
apache
load-balancing
memcached
mod-proxy
【解决方案1】:
查看“mod_proxy_balancer.c”;正如文件中的 cmets 所建议的那样,可以添加额外的 lbmethods。类似于“bymemcached_t”或“bymemcached_r”的东西,其中 t 和 r 结尾分别表示“bytraffic”和“byrequests”方法。我们将执行上面的伪代码,如果找不到,则继续执行其他方法并将结果保存在 memcached 存储中。
在我的研究中,我遇到了 HAProxy,它使用 'uri' 的平衡算法选项完全符合我的 documentation 要求,只是不使用 Memcached。这对我来说很好。