Michael Andre Pearce created ARTEMIS-1213:
---------------------------------------------
Summary: Support Client Side Persistence.
Key: ARTEMIS-1213
URL: https://issues.apache.org/jira/browse/ARTEMIS-1213
Project: ActiveMQ Artemis
Issue Type: New Feature
Reporter: Michael Andre Pearce
Assignee: Michael Andre Pearce
Client side persistence allows the client decouple the sending of messages with
the availability of the broker for periods of time.
It does not reduce the HA of the messaging product as for message failure/loss
it would require both client and broker side failures.
It has previously been requested here:
https://developer.jboss.org/thread/48115
Other brokers have this feature
Oracle: Store-and-Forward Client
https://docs.oracle.com/middleware/1213/wls/SACLT/saf_client.htm#SACLT150
WebMethods: Client-side-queue
https://www.scribd.com/doc/80485664/Web-Methods-Integration-Server-JMS-Client-Developer-s-Guide-7-1
Fiorano: Client-side-persistance
http://www.fiorano.com/products/Enterprise-Messaging/JMS/Java-Message-Service/FioranoMQ-New-Release.php
It could possibly work in two ways:
Circuit-Breaker where client direct sends if circuit is closed, but on failure
circuit is opened and messages are routed to client store, only after
connection re-estabilished and client store is empty the circuit re-closes.
Benefits of this is the client side store is only used in failure scenario as
such latency is not affected.
All messages flow through the client store, send is return to client on success
of sending to store, and subsequent thread is used to drain the store to the
broker. Benefits of this are that the broker send could batch up message sends
of async handle the send, improving throughput.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)