Re: C/C++ version Load balancer DNS

2009-04-03 Thread Jonathan Petersson
You can use BIND itself as a load-balancer.

What's your goal?
What's your current load?
What's your anticipated load 12 months from now?
What kind of equipment do you have available?

/Jonathan

On Fri, Apr 3, 2009 at 2:37 PM, Mallappa Pallakke  wrote:
>  Hi,
>  Is there any C/C++ version load balancer available? As I know we have
> lbnamed which is Perl based load balancer.
>
>  Or can we do a kind of load balancer using any other mechanism over DNS?
>
>  It will be a great help if anybody can direct be in this regard.
>
>  Thanks,
>  Mallappa
> ___
> bind-users mailing list
> bind-users@lists.isc.org
> https://lists.isc.org/mailman/listinfo/bind-users
>
___
bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users


Re: C/C++ version Load balancer DNS

2009-04-03 Thread MSP
On Apr 3, 2:49 pm, Jonathan Petersson  wrote:
> You can use BIND itself as a load-balancer.
>
> What's your goal?
> What's your current load?
> What's your anticipated load 12 months from now?
> What kind of equipment do you have available?
>
> /Jonathan
>
> On Fri, Apr 3, 2009 at 2:37 PM, Mallappa Pallakke  wrot=
> e:
>
>
>
> > =A0Hi,
> > =A0Is there any C/C++ version load balancer available? As I know we have
> > lbnamed which is Perl based load balancer.
>
> > =A0Or can we do a kind of load balancer using any other mechanism over DN=
> S?
>
> > =A0It will be a great help if anybody can direct be in this regard.
>
> > =A0Thanks,
> > =A0Mallappa
> > ___
> > bind-users mailing list
> > bind-us...@lists.isc.org
> >https://lists.isc.org/mailman/listinfo/bind-users
>
> ___
> bind-users mailing list
> bind-us...@lists.isc.orghttps://lists.isc.org/mailman/listinfo/bind-users- 
> Hide quoted text -
>
> - Show quoted text -

Using DNS, I want to do load balancing of client requests among my
available servers dynamically.
In realtime requirements, any/many servers among the configured me be
down or overloaded.

I want to have control over distribution of load to these servers. I
want to have a common FQDN to the clients and they know only FQDN. I
would like to have 10/20 servers handling the client requests. When
ever a server goes down, all the requests (thousands) it was handling,
should come to remaining available servers quickly (assume within few
seconds).

I feel we can use DNS for this purpose, but doing load balance in
realtime?

Please give me your suggession.

Thanks,
Mallappa Pallakke
___
bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users


Re: C/C++ version Load balancer DNS

2009-04-03 Thread Chris Buxton

Using DNS, I want to do load balancing of client requests among my
available servers dynamically.
In realtime requirements, any/many servers among the configured me be
down or overloaded.

I want to have control over distribution of load to these servers. I
want to have a common FQDN to the clients and they know only FQDN. I
would like to have 10/20 servers handling the client requests. When
ever a server goes down, all the requests (thousands) it was handling,
should come to remaining available servers quickly (assume within few
seconds).

I feel we can use DNS for this purpose, but doing load balance in
realtime?


I don't believe you will be successful at this with just DNS. The  
problem is that you want client connections switched over in case of a  
server failure. My understanding is that web browsers will not honor  
your TTL's. (This is how it was the last time I operated a production  
web server cluster, back in medieval times. I don't see why things  
would have changed.)


What you need is a load balancing solution at the HTTP level.  
Preferably more than one, such that the devices can share an IP  
together in some kind of fault-tolerant way.


Either way, if it were me, I would start my search at the F5 website.
http://www.f5.com/solutions/availability/

Chris Buxton
Professional Services
Men & Mice

___
bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users


Re: C/C++ version Load balancer DNS

2009-04-03 Thread MSP
On Apr 3, 4:11 pm, Chris Buxton  wrote:
> > Using DNS, I want to do load balancing of client requests among my
> > available servers dynamically.
> > In realtime requirements, any/many servers among the configured me be
> > down or overloaded.
>
> > I want to have control over distribution of load to these servers. I
> > want to have a common FQDN to the clients and they know only FQDN. I
> > would like to have 10/20 servers handling the client requests. When
> > ever a server goes down, all the requests (thousands) it was handling,
> > should come to remaining available servers quickly (assume within few
> > seconds).
>
> > I feel we can use DNS for this purpose, but doing load balance in
> > realtime?
>
> I don't believe you will be successful at this with just DNS. The  
> problem is that you want client connections switched over in case of a  
> server failure. My understanding is that web browsers will not honor  
> your TTL's. (This is how it was the last time I operated a production  
> web server cluster, back in medieval times. I don't see why things  
> would have changed.)
>
> What you need is a load balancing solution at the HTTP level.  
> Preferably more than one, such that the devices can share an IP  
> together in some kind of fault-tolerant way.
>
> Either way, if it were me, I would start my search at the F5 
> website.http://www.f5.com/solutions/availability/
>
> Chris Buxton
> Professional Services
> Men & Mice
>
> ___
> bind-users mailing list
> bind-us...@lists.isc.orghttps://lists.isc.org/mailman/listinfo/bind-users

Hi Chris,

  I have these servers located on the same system (paraller processing
- loosely coupled). I will know the load on these servers at realtime
and for new connections, I want to do proper load balance. Basically,
I want to send least loaded server IP address in the DNS response so
that the new client connection goes to the least loaded server. And if
any server goes down, my client application will do DNS query and I
will distribute these new connections among available servers.

This sollution which I am thinking is for some telecom application and
not for web browsers.
I  kown that TTL for my requirement should be ZERO, so that no cashing
happens.

Please tell why we can not use DNS sollution for this.

Thanks,
Mallappa
___
bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users


Re: C/C++ version Load balancer DNS

2009-04-03 Thread Kevin Darcy

MSP wrote:

On Apr 3, 4:11 pm, Chris Buxton  wrote:
  

Using DNS, I want to do load balancing of client requests among my
available servers dynamically.
In realtime requirements, any/many servers among the configured me be
down or overloaded.
  
I want to have control over distribution of load to these servers. I

want to have a common FQDN to the clients and they know only FQDN. I
would like to have 10/20 servers handling the client requests. When
ever a server goes down, all the requests (thousands) it was handling,
should come to remaining available servers quickly (assume within few
seconds).
  
I feel we can use DNS for this purpose, but doing load balance in

realtime?
  
I don't believe you will be successful at this with just DNS. The  
problem is that you want client connections switched over in case of a  
server failure. My understanding is that web browsers will not honor  
your TTL's. (This is how it was the last time I operated a production  
web server cluster, back in medieval times. I don't see why things  
would have changed.)


What you need is a load balancing solution at the HTTP level.  
Preferably more than one, such that the devices can share an IP  
together in some kind of fault-tolerant way.


Either way, if it were me, I would start my search at the F5 
website.http://www.f5.com/solutions/availability/

Chris Buxton
Professional Services
Men & Mice

___
bind-users mailing list
bind-us...@lists.isc.orghttps://lists.isc.org/mailman/listinfo/bind-users



Hi Chris,

  I have these servers located on the same system (paraller processing
- loosely coupled). I will know the load on these servers at realtime
and for new connections, I want to do proper load balance. Basically,
I want to send least loaded server IP address in the DNS response so
that the new client connection goes to the least loaded server. And if
any server goes down, my client application will do DNS query and I
will distribute these new connections among available servers.

This sollution which I am thinking is for some telecom application and
not for web browsers.
I  kown that TTL for my requirement should be ZERO, so that no cashing
happens.

Please tell why we can not use DNS sollution for this.

  
If this is for load-balancing which is strictly internal to your own 
network(s) (where TTL=0 might be acceptable), where the client/server 
interaction is non-web-based (thus eliminating browser caching from the 
equation), and the client abort/retry/checkpoint/restart logic is as 
sophisticated as you describe it above, then you might be able to use 
DNS somewhat effectively, without any investment in hardware or 
specialized load-balancer products.


But, I doubt that any package already exists to support this very narrow 
set of requirements. You'd probably have to write it yourself.



  - Kevin


___
bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users


Re: C/C++ version Load balancer DNS

2009-04-03 Thread Chris Buxton

On Apr 3, 2009, at 4:31 PM, MSP wrote:

On Apr 3, 4:11 pm, Chris Buxton  wrote:

Using DNS, I want to do load balancing of client requests among my
available servers dynamically.
In realtime requirements, any/many servers among the configured me  
be

down or overloaded.



I want to have control over distribution of load to these servers. I
want to have a common FQDN to the clients and they know only FQDN. I
would like to have 10/20 servers handling the client requests. When
ever a server goes down, all the requests (thousands) it was  
handling,
should come to remaining available servers quickly (assume within  
few

seconds).



I feel we can use DNS for this purpose, but doing load balance in
realtime?


I don't believe you will be successful at this with just DNS. The
problem is that you want client connections switched over in case  
of a

server failure. My understanding is that web browsers will not honor
your TTL's. (This is how it was the last time I operated a production
web server cluster, back in medieval times. I don't see why things
would have changed.)

What you need is a load balancing solution at the HTTP level.
Preferably more than one, such that the devices can share an IP
together in some kind of fault-tolerant way.

Either way, if it were me, I would start my search at the F5  
website.http://www.f5.com/solutions/availability/


Chris Buxton
Professional Services
Men & Mice

___
bind-users mailing list
bind-us...@lists.isc.orghttps://lists.isc.org/mailman/listinfo/bind- 
users


Hi Chris,

 I have these servers located on the same system (paraller processing
- loosely coupled). I will know the load on these servers at realtime
and for new connections, I want to do proper load balance. Basically,
I want to send least loaded server IP address in the DNS response so
that the new client connection goes to the least loaded server. And if
any server goes down, my client application will do DNS query and I
will distribute these new connections among available servers.

This sollution which I am thinking is for some telecom application and
not for web browsers.
I  kown that TTL for my requirement should be ZERO, so that no cashing
happens.

Please tell why we can not use DNS sollution for this.


Because browsers cache DNS results, often ignoring TTL's. In my  
(admittedly ancient) experience, browsers would cache the last x  
number of DNS results they got, where x was something like 50 or 100.  
And a result to be cached was equal to the first IP address in the DNS  
result - all other data was discarded.


Therefore, if one server of your cluster goes down, connections don't  
switch to other available servers. They just fail.


Now IE 7 and later, I have been told, behaves differently. But I  
believe other browsers still behave this way.


DNS-based load balancing, in my experience, is not up to the demanding  
task you have in mind.


Chris Buxton
Professional Services
Men & Mice

___
bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users


RE: C/C++ version Load balancer DNS

2009-04-03 Thread Jeff Pang


>  Original Message 
> Subject: Re: C/C++ version Load balancer DNS
> From: Chris Buxton 
> Date: Fri, April 03, 2009 4:11 pm
> To: Bind Users Mailing List 
> 

> 
> Either way, if it were me, I would start my search at the F5 website.
> http://www.f5.com/solutions/availability/
> 


F5's BGI-IP works also well on DNS load balancing.

regards.


___
bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users


Re: C/C++ version Load balancer DNS

2009-04-03 Thread Bryan Irvine


> Using DNS, I want to do load balancing of client requests among my
> available servers dynamically.
> In realtime requirements, any/many servers among the configured me be
> down or overloaded.
>
> I want to have control over distribution of load to these servers. I
> want to have a common FQDN to the clients and they know only FQDN. I
> would like to have 10/20 servers handling the client requests. When
> ever a server goes down, all the requests (thousands) it was handling,
> should come to remaining available servers quickly (assume within few
> seconds).
>
> I feel we can use DNS for this purpose, but doing load balance in
> realtime?



I think you are looking the wrong way.  DNS doesn't change as quickly
as you are hoping it does.  There's ISP caches, OS caches, and
application caches.  Most of these even cache failed lookups and a lot
of times they also ignore TTL's.

I've done what you are thinking of (with the exception of the 10 idle
servers (which makes no sense to me)) with OpenBSD's relayd.  If you
want to spend lots of money then an F5 solution would do the trick as
well.

-Bryan
___
bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users


Re: C/C++ version Load balancer DNS

2009-04-10 Thread John Wobus

On Apr 3, 2009, at 7:31 PM, MSP wrote:

This sollution which I am thinking is for some telecom application and
not for web browsers.
I  kown that TTL for my requirement should be ZERO, so that no cashing
happens.

Please tell why we can not use DNS sollution for this.


You can indeed use the DNS, but depending upon details, you could run
into problems.  As has been mentioned, ISPs could run nameservers that
impose a minimum TTL or even ignore it.  The client OS could do
the same.  The client app might do the same, or might look up the number
once and expect it to work for a long time.  Some simple tests would
answer the questions for the pieces under your control, but
if you need to serve clients across the Internet, you might be taking
your chances regarding the world's caching nameservers.

Also, depending upon specfics, it may be that you want to use a
short, non-zero TTL.

John

___
bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users