Re: C/C++ version Load balancer DNS
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
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
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
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
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
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
> 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
> 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
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