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 <[EMAIL PROTECTED]> 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
    [EMAIL PROTECTED]

--
Fedora-directory-users mailing list
Fedora-directory-users@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-directory-users

--
Fedora-directory-users mailing list
Fedora-directory-users@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-directory-users

Reply via email to