[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: MirrorMode VS load balancing

On Sat, Jun 27, 2009 at 11:56 PM, Hideo NAKAMITSU <nomo@bluecoara.net> wrote:

I've already read this, and understand the difference between MirrorMode and Multi Master.

Actually, when I setup 2-nodes MirrorMode and add too much entries to both nodes,
at the same time, sometimes both databases weren't syncrhonized correctly.
(I made a script to add 10,000 entries, and run it on both nodes at the same time.)

In this case, we shouldn't update both nodes at the same time.
and of course this is already discribed in the document as following.

MirrorMode is not what is termed as a Multi-Master solution.
This is because writes have to go to just one of the mirror nodes at a time

but on some cases(including my environment), UPDATE happens 3-10 times in a day.
it's much less than SEARCH.
in this case, I think we can just put loadbalancer, and enable "load balancing" and "redundancy"
(I understand UPDATE isn't load balanced.)

Update is not load balanced, but it could be. You could have a "read only" balance rule, and a "read write" balance rule, either on sererate ip or seperate port. They would both point to the same servers, but the balance rules would act differently based on the selectioj of ip / port.

If you are able to distinguish between read only and read write applications, then you could configure your read only applications for "round robin", and your read write applications for "sorry server" ie. traffic only hits the secondary if the primary is down.

Ie. a typical use is for mapping email adreesses, in this case the mailers are only ever frequent read, and whatever puts the emails in are seldom write (by comparison). In this case mailers need high speed round robin for load sharing, updating application only need's it's writes to be accurately stored (extreme speed is not such a priority)

Alternately if you have one application that does high frequency read and write, you could always put a ldap proxy in front and try to divert the writes toward the "read write" balance, and the read only queries toward the "read only" balance, via use of a slave syncrepl and updatedn.