2009/2/2 Andrew Wright <[email protected]>:

> Essentially, yes. Each app node is responsible for a subset of the data
> processing (we're looking to implement an order matching engine/exchange).

OK - a domain quite familiar to me.

> The big difficulty we have is a hard requirement for in-order message
> processing. This unfortunately rules out load balancing from a queue across
> active-active client pairs. We'd rather just route incoming msgs to a
> store-and-forward topic, and accept a small processing pause during app node
> failover.

Do you have the requirement for total ordering or is it just a partial
ordering, i.e. you need to process requests for a given order id in
the right order (i.e. new/amend/cancel for a given order id)?

> Once a message has been read from the topic, it is written into the TC
> cache. At that point we can failover processing to a different node without
> any message or data loss.

Does TC now support memory replication between the server nodes?
Previously it required shared storage which meant the performance
sucked.

> We were rather hoping that qpid clients (eg. the Java client) would be able
> to failover against a HA broker pair without the use of a dedicated load
> balancer.

Yes, it can. It implements heartbeats and can automatically
resubscribe. Carl - does the active/active propagate subscription info
across nodes of the cluster?

>>> As you say, Coherence has this sort of thing built in. Unfortunately it
>>> also
>>> comes with a fairly hefty Oracle price tag...
>>
>> Yes it is expensive but it is a much more sophisticated product (or
>> certainly a "different" product) than Terracotta - I think it would
>> depend what your non-functionals are whether it is worth using it (or
>> Gemfire, IBM ObjectGrid or Gigaspaces which are credible Coherence
>> competitors).
>
> Absolutely - and we haven't ruled anything out yet. We're going to start
> with the lowest cost option, and if it doesn't work out, then have a
> rethink.

What are your throughput and latency requirements?

This is an interesting domain since it blurs the distinction between
messaging and in-memory data grids.

RG

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to