Cluster of servers?

35 views
Skip to first unread message

astu...@gmail.com

unread,
Dec 13, 2007, 7:19:15 AM12/13/07
to beanstalk-talk
In your examples, you use just one IP:
Beanstalk::Pool.new(['10.0.1.5:11300'])

Is it planned to use several IPs (as in memcache)
or even better, DNS name resolving to cluster of servers?

The primary reasons are:
- maintenability (how to change server?)
- failover
- performance

Keith Rarick

unread,
Dec 13, 2007, 5:01:37 PM12/13/07
to beansta...@googlegroups.com
On Dec 13, 2007 4:19 AM, aleksey...@mail.ru <astu...@gmail.com> wrote:
> In your examples, you use just one IP:
> Beanstalk::Pool.new(['10.0.1.5:11300'])
>
> Is it planned to use several IPs (as in memcache)
> or even better, DNS name resolving to cluster of servers?

Yes, you can do so right now. The Beanstalk::Pool class takes a list
of addresses and connects to all of them. It manages the connections,
removing ones that go down and retrying them once in a while. It also
load balances requests among all open connections.

The load balancing algorithm is not very good right now (it chooses
randomly each time). I'll change it to round robin when I get time.

> The primary reasons are:
> - maintenability (how to change server?)
> - failover
> - performance

The maintainability and failover already work. Interestingly,
performance doesn't change much with multiple servers unless you are
processing more jobs than one server can handle (and that's a lot of
jobs).

kr

astu...@gmail.com

unread,
Dec 14, 2007, 6:33:22 AM12/14/07
to beanstalk-talk
Thank you. very impressive.

It will be very convinient to use DNS, not a list of addresses,
because supporting this list on a cluster of app servers is a big
issue.
Reply all
Reply to author
Forward
0 new messages