Jay, thanks for clarifying this. The "module" word confused me.

Sorry for apparently getting ahead of the train, but it sounds like this
publisher/subscriber thing is network oriented. Will it work for modules in
the same address space?

And why specifically "asynchronous"? I'd dare to claim that the same
interface can accommodate both asynchronous and synchronous modes. Isn't it
just a matter of when you return form the replication call?

On Fri, 24 Jul 2009 11:37:30 -0400, Jay Pipes <[email protected]> wrote:
> 
> The examples will be easier once I'm finished with the default 
> asynchronous implementation ;)  But, for right now, you can think of 
> "publisher" and "subscriber" as sort of like master and slave in the 
> MySQL world.  They are a "paired" set of classes which implement the 
> publisher and subscriber API from the kernel's plugin interfaces.
> 
> The reason they are a pair is that they must "speak" the same language 
> and rules.  In the default case, the "rules" are a simple asynchronous 
> replication of Command GPB messages, with NO transactional/2PC 
> guarantees between master and slave.  Of course, over time, we'll add 
> that functionality through other pluggable modules.
> 
> I call it a module even though it is in the /plugin directory because 
> the /plugin/async_replication directory (about to hit Launchpad) 
> contains a number of classes which implement APIs defined in the 
> /drizzled/plugin/ directory and these classes work together to handle 
> asynchronous replication.  Right now, I'm working hard on this module to 
> make it full of comments and descriptions of how the different classes 
> and message work together.  This will be the "reference implementation" 
> for others who wish to write replication systems for Drizzle, so I'm 
> spending a lot of time writing code comments and making sure the pieces 
> work nicely together, don't expose class internals needlessly, and 
> communicate exclusively via GPB messages (this enables a 
> future-version-proof protocol between publisher and subscribers...)
> 
> I promise more will be coming out shortly about the publisher and 
> subscriber interfaces!
> 
> Cheers,
> 
> Jay

-- 
Alexey Yurchenko,
Codership Oy, www.codership.com
Skype: alexey.yurchenko, Phone: +358-400-516-011

_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help   : https://help.launchpad.net/ListHelp

Reply via email to