Thread: How can I avoid PGPool as a single point of failure?
My application currently has a single PG 8.2 database server, and I'm bringing more boxes online to mitigate the risk of a single point of failure. I'm interested in using PGPool to do the load balancing, and it was suggested that I put one server running PGPool in front of two database servers. This only seems to move my risk to the PGPool machine. Is it possible to point two servers running PGPool at the same two database servers? If so, I seem to recall reading about being able to use some kind of virtual IP address to split the traffic to both. Any ideas are greatly appreciated!
Hello... snewman18@gmail.com wrote: > > I'm interested in using PGPool to do the load balancing, and it was > suggested that I put one server running PGPool in front of two > database servers. This only seems to move my risk to the PGPool > machine. > You could use linux hearbeat to allow one Pgpool server to "watch after" another (and take over in the case of a failure), or you could try to do something with CARP or some other related balancing scheme. In the CARP case you would have a single master that would respond to network requests, and another slave (running pgpool) that would sit idle until it needed to leap into action to "save the day". > Is it possible to point two servers running PGPool at the same two > database servers? If so, I seem to recall reading about being able to > use some kind of virtual IP address to split the traffic to both. CARP...I've never tried to use it for such a thing (I've used it for firewall redundancy in the past..which is what I think it was designed for), but I'm fairly certain you could do so without too much trouble. -- Chander Ganesan Open Technology Group, Inc. One Copley Parkway, Suite 210 Morrisville, NC 27560 Phone: 877-258-8987/919-463-0999 http://www.otg-nc.com Ask me about our Expert PostgreSQL & PostGIS Training
On Jan 29, 2008 6:30 PM, Chander Ganesan <chander@otg-nc.com> wrote: > > > Is it possible to point two servers running PGPool at the same two > > database servers? If so, I seem to recall reading about being able to > > use some kind of virtual IP address to split the traffic to both. > CARP...I've never tried to use it for such a thing (I've used it for > firewall redundancy in the past..which is what I think it was designed > for), but I'm fairly certain you could do so without too much trouble. CARP *and* pfsync. this late at night off the top of my head I can't see any blatantly obvious reason this wouldn't work (with at least pgpool that is, dunno about your data) aaron.glenn
On Jan 31, 2008, at 4:28 AM, Aaron Glenn wrote: > CARP *and* pfsync. > this late at night off the top of my head I can't see any blatantly > obvious reason this wouldn't work (with at least pgpool that is, dunno > about your data) we use CARP to balance and failover some webserver pairs. We also use it to balance our internal DNS caches to our internal clients. The only drawback is that once you pass a router, all traffic from that router will go to a single CARP host -- ie, you get failover but no balance. Other than that, it makes upgrading systems nearly invisible to the other servers. For critical things like DNS, this is a big win.