[zorp-hu] HTTP Load balancer
Balazs Scheidler
bazsi at balabit.hu
2006. Már. 3., P, 10:49:55 CET
On Thu, 2006-03-02 at 21:55 +0100, Deim Ágoston wrote:
> hi,
>
> > de Bazsi valaszabol nem derult ki, hogy mi szabalyoz.
> > A DNS?
> hát, én ezt most feltételeztem, mivel a zorp a kérések átirányítását DNS
> illetve /etc/hosts eredményeinek alapján végzi. A round robin pedig DNS
> alapú.
A Zorp-ban levo FailoverChainer-es round-robin nem csak a DNS-bol tud
mukodni, bar teny, hogy azt _is_ tudja hasznalni, peldaul:
nem DNS alapu:
def rr():
Service('http', HttpProxy, router=DirectedRouter([
SockAddrInet('10.0.0.1', 80),
SockAddrInet('10.0.0.2', 80),
SockAddrInet('10.0.0.3', 80)]),
chainer=FailoverChainer(round_robin=TRUE))
Listener(SockAddrInet('1.2.3.4', 80), 'http')
def rr_dns():
ResolverPolicy('http-dns', DNSResolver(multi=TRUE))
Service('http', HttpProxy, router=InbandRouter(),
resolver_policy='http-dns',
chainer=FailoverChainer(round_robin=TRUE))
Bar a ResolverPolicy 3.1-es feature, 3.0-ban meg nem policy-kent mukodik, hanem
kozvetlenul lehet megadni Service parameterkent. 3.0-ban kb igy nezne ki:
def rr_dns():
Service('http', HttpProxy, router=InbandRouter(),
resolver=DNSResolver(multi=TRUE),
chainer=FailoverChainer(round_robin=TRUE))
A 2. pelda annyit jelent, hogy a HTTP proxyra bizod a nevfeloldast, viszont a
nevfeloldo resolvernek megmondod, hogy tobb cimet akarsz visszakapni (multi=TRUE),
ezek utan a FailoverChainer mar teszi a dolgat.
--
Bazsi
További információk a(z) zorp-hu levelezőlistáról