On 10/20/06, Paul Fremantle <[EMAIL PROTECTED]> wrote:
In that case both synapse instances will have to work on the same shared Sandesha2 storage. Probably the same database.
Chamikara
> > So from a server perspective, I guess the only option is whether to
> > use a persistent or in-memory store. Maybe in the future we could
> > think about relaying acks instead of storing messages (in other words
> > we don't persistently store messages, instead we ack them when the
> > target server has received them). So I think we can leave the server
> > for the moment.
>
> Hmm. Interesting point. But if the synapse server craches it will loose the
> data of the sequence. Which may be needed to continue that sequence when the
> system comes back up. So even though the in-memory server may be ecceptable
> for now, i think the long term aim should be for a permanent storage based
> one.
+1 for the persistent store.
As for the "relaying" model, you could imagine Synapse on a router
with a very small persistent store - just enough to persist the
sequence state but not the messages. In this case it might be bridging
from JMS to RM, and the RM agent would simply ack the message once the
JMS transactionally accepted it. If the Synapse server crashed, it
would reload the sequence state and carryon.
> > But from the client perspective, there are a few options:
> >
> > 1) Do we want to make an offer?
>
> Think this should be the default. To minimize the number of messages
> transfered.
Yes, I think 2-way scenarios are more common than 1-way.
>
> > 2) Do we want a separate listener - at the moment Sandesha doesn't
> > support two-way RM with an anon endpoint for RM1.0, because its not
> > really speced. Of course this is really an endpoint setting
> > independent of RM.
> >
> > 3) Do we want to use RM1.0 or RM1.1
> > 4) [Advanced] Do we want to set an internal SequenceKey? This could be
> > used to ensure that for example different clients used different
> > sequences.
>
>
> We must. AFAIK different clients will be using the same Synapse client side
> instance. Sandesha without knowing this may try to put messages from
> different clients into the same sequence if they are targetted at the same
> endpoint. So Synapse has to use sequenceKeys to make sure that the messages
> from different clients go in different sequences.
Yes I agree.
But here is another nice scenario. I have two Synapses acting as
gateways. I just want one sequence holding them together and they
multiplex lots of traffic from each side over that sequence.
In that case both synapse instances will have to work on the same shared Sandesha2 storage. Probably the same database.
Chamikara
