Sumber : http://www.inlab.de/balance.html
What is Balance ?
Balanceis our (still) suprisingly successful load balancing solution being a simple but powerful generic tcp proxy with round robin load balancing and failover mechanisms. Its behaviour can be controlled at runtime using a simple command line syntax.Balance supports IPv6 on the listening side which makes it a very useful tool for IPv6 migration of IPv4 only services and servers.
Balance successfully runs at least on Linux(386), Linux(Itanium), FreeBSD, BSD/OS, Solaris, Cygwin, Mac-OS X, HP-UX and many more.
Balance is Open Source Software and released under GPL licensing terms.
BalanceNG® is our commercial Software Load Balancer for Linux and Solaris which is available under a “Free Basic Trial License”. Click here for more information.
Download
Current Release: Balance 3.54, released: 03 December 2010
Current Release: Balance 3.54
balance-3.54.tar.gz MD5: 99854615cc58ceb2c5bbf29e35d18018Older Releases:
balance-3.52.tar.gz MD5: dd43b243290471536b7689382b7bb8d4
balance-3.50.tar.gz MD5: 8242804073208e44931d61366e47d4d6
balance-3.48.tar.gz MD5: 80fea078f1558a2a893fd037b8c99894
balance-3.42.tar.gz MD5: 24bc4063e8af298471d7d0a2ac7462a6
balance-3.40.tar.gz MD5: 85321e0d80ff63d1659fe4173c135cc1
balance-3.35.tar.gz MD5: 771f8523f7a4ee119461e7f71f8a275f
balance-3.34.tar.gz MD5: 65287da4757c3cd01dbc85551c144e49
balance-3.32.tar.gz MD5: f9b3ea2d2e0838e7da2f7c4b0f2e5debBalance 3.54: Manual Page (PDF)
balance.pdfLatest Changes:
- 3.54: A bug with hash_fold() regarding incoming IPv4 and IPv6 source addresses has been fixed. The “hash” group mechanism is now working as expected.
- 3.52: Buffering has been disabled for interactive shell IO. A new “assign” command has been added to allow changing of the host:port assignment of a channel (only if disabled). A locking bug has been fixed.
- 3.50: A new option -6 has been added to force IPv6 bind.
- 3.49: A patch has been applied due to a problem with ftok() on Solaris.
- 3.48: Problems with setting IPV6_V6ONLY socket option are now handled more nicely with a syslog warning message.
- 3.42: Balance now compiles also on systems where IPV6_V6ONLY is undefined (like some Solaris systems).
- 3.40: IPv6 support on the listening side has been added. MAXCHANNELS in balance.h has been increased to 64.
- 3.35: A bug in the autodisable functionality has been fixed.
- 3.34: -a option added (enables “autodisable” option: A channel needs to be manually re-enabled after a failure). Syslog logging added for reporting this event.
- 3.33: -M option added (use MMAP instead of SHM for IPC)
- 3.32: Bugfix: /var/run/balance may now already exist.
- 3.31: Bugfix: TCP_NODELAY properly set.
- 3.30: Code cleanups and fixes.
Example Command Lines
# balance smtp host1.test.net host2.test.net
Connections to the local SMTP port will be forwarded alterating to the SMTP port on host1 and host2. Balance runs automatically in background.
# balance -b 2001:DB8::1 80 10.1.1.1 10.1.1.2
Balance binds on port 80 of the local IPv6 IP address 2001:DB8::1 and distributes connections to the IPv4 addresses 10.1.1.1 and 10.1.1.2.
# balance -b ::ffff:10.1.1.3 80 10.1.1.1 10.1.1.2
Balance binds on port 80 of the local IPv4 IP address 10.1.1.3 (provided in IPv6 notation) and distributes connections to the IPv4 addresses 10.1.1.1 and 10.1.1.2.
# balance -fp imap mailserver
Connections to the local IMAP port will always be forwarded to the host “mailserver”. Balance stays in foreground and all data is printed in readable format on stdout.
$ balance -f 8888 host1 10.1.1.1:8000
Connections to the local port 8888 are forwarded alternating to host1, port 8888 and the host 10.1.1.1, port 8000. Balance stays in foreground connected to the “controlling tty”.
Links and more
- Here’s the Balance Project Page at Sourgeforge (check it out for precompiled packages, forums, mailing lists and more). Many thanks to Thomas Steudten for all the support.
- Here’s the Balance project page at www.darwinports.com.
- Here’s the Balance Page at Freshmeat.Net.
- The SourceForge mailing list web page can be found here.
- www.opencsw.org (Community Software for Solaris) offers precompiled Packages of the latest Balance release (URL: http://www.opencsw.org/packages/balance).
- Sunfreeware.com offers binary Solaris packages for different releases and processors.
- Barbara Irwin was so kind to include Balance in their famous Load of Linux Links (LoLL) GPL’ed Linux link database.
Articles and resources featuring Balance
- “Clustering and Caching GeoServer“
- “Pen/Balance Best Practice Deployment” at mongrel.rubyforge.org.
- “Taking a load off: Load balancing with balance” at linux.com.
- “Replacing NIS with Kerberos and LDAP“.
- “DB2 connection routing using Linux load balancing” at IBM.
- “Use ZEO with Zope“
- “Hands on Networking at Purdue University (Douglas E. Comer): Experiment 16.2: Configure and test a web load balancer“
- “Interview with David Heinemeier Hansson from Ruby on Rails” on MySQL Deveoper Zone
Commercial products with similar scope
BalanceNG – A Modern “Layer 2” Software IP Load Balancing Solution with VRRP based HA