nq: never queue,从不排队(sed的改进)。每个动发一个,然后再计算。
lblc:基于本地的最少连接。
考虑cache的连接数
缺点:游客能破坏命中率。
lblcr:基于本地带复制功能的最少连接。
lvs默认算法:wlc
What's the lvs?
Linux virtual server is the high available and high scalable server built on a cluster server, with the load balancedr running on the Linux opearting system.
there are 10 schedulers. the schedulers are rr, wrr, lc, wlc, lblc, lblcr, dh, sh.
I just looked at them. I need write them on my blog so that looking in the future.
Round Robin(rr), Weighted round robin(wrr) - new connections are assigned to each realserver in turn.
different: the server's load will have been detection and adjust dynamic by wrr schedulers. rr will not adjust.
Least connections(lc), Weighted least connections(wlc) - new connections come to realserver with the least number of connections.
different:same the rr and wrr
Locality-based least connections (lblc), Locality-based least with replication(lblcr)
The LBLC code (by Wensong) and the DH scheduler (by Wensong, inspired by code submitted by Thomas Proell proellt (at) gmx (dot) de) are designed for web caching realservers (e.g. squids). For normal LVS services (eg ftp, http), the content offered by each realserver is the same and it doesn't matter which realserver the client is connected to. For a web cache, after the first fetch has been made, the web caches have different content. As more pages are fetched, the contents of the web caches will diverge. Since the web caches will be setup as peers, they can communicate by ICP (internet caching protocol) to find the cache(s) with the required page. This is faster than fetching the page from the original webserver. However, it would be better after the first fetch of a page from http://www.foo.com/*, for all subsequent clients wanting a page from http://www.foo.com/ to be connected to that realserver.
different:用于cache集群系统,两者一个是服务器,一个是服务器群。
Destination Hashing(DH), Source Hashing(SH)
The DH scheduler can keep the two load balancer redirect requests destined for the same IP address to the same cache server. If the server is dead or overloaded, the load balancer can use cache_bypass feature to send requests to the original server directly. (Make sure that the cache servers are added in the two load balancers in the same order)