Show last authors
1 {{plantuml}}
2 @startditaa
3 Instance A Instance B
4 +--------------------------------+ +--------------------------------+
5 |Filesystem | | Filesystem|
6 | /---------------\| |/---------------\ |
7 | | Send Cache || || Receive Cache | |
8 | \---------------/| |\---------------/ |
9 | ^ | ^ | | ^ | ^ |
10 |----------------|------|------|-| |-|------|------|----------------|
11 | | v | | | | v | |
12 | | /---------\ | | | | /---------\ | |
13 | | | Send | | | | | | Receive | | |
14 | | | Queue | | | | | | Queue | | |
15 | | \---------/ | | | | \---------/ | |
16 | | ^ | ^ | | | | ^ | ^ | |
17 |+--------+ | | | | | | | | | v | | +--------+|
18 || MyComp | +-------+ | | | | | | | +---------+ | MyComp ||
19 || |-->| Sender| | | | | | | | | Receiver|-->| ||
20 |+--------+ +-------+ v | | | | | | +---------+ +--------+|
21 | +----------+| HTTP |+----------+ |
22 | | HTTP ||--------->|| HTTP | |
23 | | Client || || Enpoints | |
24 | +----------+| |+----------+ |
25 +--------------------------------+ +--------------------------------+
26 @endditaa
27 {{/plantuml}}
28
29 A message is given to the sender which serialize it before putting it in a queue. The messages are picked from the queue and sent to the target instance through HTTP.
30
31 The received message is serialized on target instance side and the HTTP response it sent, and the serialized message is added to a queue. The messages are picked from the queue and provided to the receivers associated with the message type.
32
33 If the target instance fail to serialize the message or is not reachable, the message to send is put back on the queue to be tried again later. Otherwise the message is removed from the filesystem. If the sending instance crash or is stopped before all the message are full sent, they are loaded from the filesystem store during next init and reinjected in the send queue.
34
35 If the receiving instance crash or is stopped before all the received message have been handled by receivers, they are loaded from the filesystem store during next init and reinjected in the receive queue.

Get Connected