1

I have discussed a scenario here that our company is using and would like some input if possible.

We have a main url for a site, call it "http://www.site.com". At some point during its inception, it was decided that the site will be load balanced active/active across two physical data centers. This was accomplished at the time by having the network device return a 301 redirect to either "https://site1.site.com" or "https://site2.site.com". Obviously this does not seem to play nice with search engines, as when you search for the site, you are getting the site specific results for the redirect at the time of crawling, when marketing wants the main www.site.com to always show. I'm curious what would the proper way to implement a solution such as this?

Lee
  • 13

4 Answers4

2

"This was accomplished at the time by having the network device return a 301 redirect.."

That, my friend, is not load balanced across two datacenters. That is one device, sitting at one of them, redirecting clients.

What you should be looking at is using one (or two for local failover) loadbalancers at each site, prefferably something that can update DNS and have GeoIP logic (comes very handy when you're located at large geographical distances).

I personally use KEMP load balancers, and I can highly recommend them: http://www.kemptechnologies.com/uk/server-load-balancing-appliances/geo-loadmaster/glm-overview.html

pauska
  • 19,766
1

What about using load sharing with DNS?

www.site.com     1.1.1.1
www.site.com     1.1.1.2
www.site.com     1.1.1.3
migabi
  • 154
1

The 'good' way of doing "Global Server Load Balancing" (GSLB) is multiple data centers (DC's), each with edge routers advertising the same IP address range, using BGP to select shortest path -- aka Anycast.

The cheaper version is often using identical load balancer appliances (LB's) with a 'GSLB' addon at each location, where the LB's exchange a heartbeat, and fail over using DNS 'tricks' (for lack of a better word).

I would respectfully suggest that you negotiate the multi-DC requirement away, or at least secure funding for a serious effort. Good multi-DC deployments are not easy to set up, and require large'ish upfront investment in equipment (routers) and expertise. Replicating the databases and changing data sets is usually very hard.

One possible workaround might be Amazon Elastic Load Balancer (ELB) together with moving to Amazon EC2. ELB has some provisions for spanning multiple Amazon 'Availability Zones', and EC2+ELB is cheap compared to DIY multi datacenter failover.

0

If you have the money to spend I would look at implementing something like a Cisco GSS or an F5 GTM at both sites, and having DNS delegated to them.

Essentially it works by pointing your A record for www.site.com at the GNS/GTM's, which you in turn have configured with the IP addresses of your web servers or their VIP addresses, along with their location. When a client does the DNS lookup for www.site.com the GSS/GTM will then return the IP address of the appropriate server/VIP.

Load balancing can be done of a round robin basis, by geographical location, by performance metrics or by load, or by having an active and a DR datacentre - basically all of the same principals that apply to load balancing.

paulos
  • 1,704