Balance

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: 99854615cc58ceb2c5bbf29e35d18018

Older 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: f9b3ea2d2e0838e7da2f7c4b0f2e5deb

Balance 3.54: Manual Page (PDF)
balance.pdf

Latest 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

 

Articles and resources featuring Balance

 

Commercial products with similar scope

 

BalanceNG – A Modern “Layer 2” Software IP Load Balancing Solution with VRRP based HA

Leave a comment