[Fedora-directory-users] How to make application connect to multi-master set-up?

Eddie C edlinuxguru at gmail.com
Mon Feb 19 18:32:44 UTC 2007


Yes,

If you custom code your application you can set it up to handle multiple A
records. But you need to recode your applications each application has to be
reconfigured each time you add a server to the group.
As to the cost factor. Yes buying a load balancer might cost $2000.00. you
might be able to ebay one for $1000.(Linux Virtual Server is open source and
GPL but that is another story.)  How much does it really cost to recode your
applications, test, and redeploy? Probably a lot more work then $2000. Our
LDAP database is the corner stone of our company. We would have to recorde
10 applications to achieve our own round robin. And would only get some of
the features of a hardware load balancer.

In a real world deployment more sophisticated algorithms are sometimes
needed. For example say I have an older 2.0 GHZ web server and a newer
3.0GHZ server. A more sophisticated solution has more options. For
example:

Round Robin (you take one I take one)
Weighted Round Robin  (one server better then the other, ill take 3 your
take 2)
Least Connections (this server has LONG running ldap queries running on it.
Send queries to the other one.)
Weighted Least connection ( This server has long running LDAP queries but it
is more powerful then the other one )
Source IP ( Particular source IP is always routed to same destination server
)
Least Traffic (less TCP traffic, im busy your handle this one)
Weighted Lest traffic  (Im busy,but im alot better then you I will handle
this one )

The health checking is built in at the load balancer level. If the load
balancer detects a closed port that server is taken out of the group. Client
applications do not need extra intelligence. When you want to upgrade a
particular machine in the groop take it out of the configuration.

Google seems to be taking a hybrid approach. They likely use GEO-DNS,
mutliple A records. and hardware load balancing. Of course they are
multi-datacenter.

Non-authoritative answer:
Name:    www.l.google.com
Addresses:  216.239.37.99, 216.239.37.104

I would be willing to bet that  216.239.37.99 and 216.239.37.104 are
hardware load balancers.

All methods are viable. It just depends on what you want. Cold Failover,
High Availabilty (HA), or  Constant Availablity (CA).

For our deployment I have a two node LDAP system (multi master) If I drop
one of the nodes the IP floats to the other node within a few seconds. We
did not have to recode any application, just configure them with a floating
IP address. Some of our developers have built failover into their apps. I
think its just extra code that there is already a proven solution to. I am a
fan of mutli-master and true TCP load balancing, but thats just me.

Edward











On 2/19/07, Les Mikesell <lesmikesell at gmail.com> wrote:
>
> Ankur Agarwal wrote:
> >
> > We have a weblogic app server based application which talks to RedHat
> LDAP through weblogic's security provider APIs.
> >
> > On Production env we have set-up master-master LDAP servers i.e. there
> are two master LDAP servers. How should i make my application connect to
> these 2 servers?
> >
> > Should there be a front-end load balancer to which my application will
> make request and then load balancer will handle requests to one of the LDAP
> servers?
> >
> > Also note that we have weblogic cluster in Prod with 2 instances. So
> should i make each instance point to one LDAP server? But in that case how
> will automatic failover work if one of the LDAP servers go down?
> >
> > Would be great if people can suggest any standard solution to deal with
> such situations.
> >
>
> If you have multiple A records for the name in DNS, the client will
> receive all of them in a query and _can_ fail over quickly if the first
> choice does not respond.  A lot of web browsers handle this sensibly but
>   most other programs don't.  The way to test it is to set up a DNS
> entry that contains one address that answers on the application's port
> and one that doesn't and see if the application works every time.  If
> you are writing your own client you can get failover a lot cheaper than
> using a dedicated load balancer - and this approach also handles
> connection failures between the client and one of the servers that a
> load balancer would not know about.
>
> --
>    Les Mikesell
>     lesmikesell at gmail.com
>
> --
> Fedora-directory-users mailing list
> Fedora-directory-users at redhat.com
> https://www.redhat.com/mailman/listinfo/fedora-directory-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/fedora-directory-users/attachments/20070219/3e78cb48/attachment.htm>


More information about the Fedora-directory-users mailing list