Hi Michele,
thanks for the info - this was exactly the level of details I was
looking for. I'll start working on the PublishFilter plugins next
week, and will eventually transition the protocol over when mirroring
becomes available. Do you have a rough idea when this would be ?
Thanks
Michael
On Sat, May 03, 2003 at 03:34:09PM +0200, Michele Laghi wrote:
Hi Michael,
I guess the cleanest way to do that is to use the clustering framework.
However I think we need Mirroring for that. Unfortunately is Mirroring
not implemented yet.
Meanwhile a solution would be to have a plugin implementing
I_PublishFilter on X:
It would act as a client to A, B and C. In its method intercept it would
publish to these servers and thereby automatically get an acknowledge
from them.
Servers A, B, C have another plugin (implementing I_PublishFilter) which
acts as a client to the own server. In its intercept method they would
publish a PtP message to the client (you have the address of the client
in the MsgUnit) simulating that way the acknowledge to the client.
<__________PtP____________________
<__________PtP__________________ '
Client <===> Server X<====> Server A--' '
|<====> Server B----'
|<====> Server C----
<------PtP------------------------'
Michele
Michael Atighetchi wrote:
Xmlblaster team,
I'm planning on implementating a distributed protocol for pub/sub/and
query on top of xmlblaster, and am wondering which plugin would be
best fitted to do so.
To give you an example of my procotol, and publish will go to a
server (X). X then acks the message back to
the client, and disseminates the message on to 3 other
servers. Each server will then ack the message back to the client (so
obviously the message has to contain a client endpoint) and to X. The
client
waits for 3 successful acks, and then terminates the publish method.
How difficult do you think would it be to implement such a protocol ?
Which plugin would one use ?
I was looking at I_Plugin and I_PublishFilter, but these plugins seem
less to be involved with message routing/handling, which is what I
believe I need.
Thanks
Michael