On Tue, Mar 3, 2009 at 3:57 AM, Tim Uckun <timuckun@gmail.com> wrote:
>
>>
>>
>> Again, this is a lot of work to avoid master / slave with failover.
>> Are you sure it's really needed for your situation?
>>
>
> What is the most straightforward and simple way to achieve master slave with
> failover?
We use Slony at work, which has a pretty easily run command to
failover. We initiate failover at the application level when a
majority of the servers agree that the primary is no longer
responding.
> Preferably a solution that would have decent monitoring, alerting and
> failback capacity.
We had to write out own alerting and such back in the day. Nagios can
definitely keep you apprised of things happening. So can a collection
of shell scripts. I'm afraid I know of no pre-made pre-wrapped
packages to do what you want. Then again, each solution needs to fit
the needs of the user, so it's hard to just have one size fit all
here.
> It would be also nice if you could use the standby as a read only database
> for reporting or something.
That works wonderfully well with Slony. We actually have one master,
one failover slave that would take over in the case of the master
going down, and x read slaves that read from that machine for the web
app to read. Allows pretty good scalability and redundancy.
The problem with multi-master is that you can either have good
performance or good redundancy, but it's hard to get both. And don't
hold up RAC as an example of great multi-master. It's overly complex,
tends to fail individual nodes a lot and costs an arm and a leg. And
performance wise it's definitely a meh grade solution for most
applications.