You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Acts as a proxy between message brokers and clients.
6
+
7
+

8
+
9
+
## Client
10
+
11
+
Client can be any types of application which implements the EventMesh protocol.
12
+
13
+
## Session
14
+
15
+
Client can have one or more sessions.
16
+
There are two types of session :
17
+
* SUB : subscribe to one or more topics.
18
+
* PUB : publish messages.
19
+
20
+
## Bridge
21
+
22
+
Link between two servers. When a bridge is established, messages can be transfered from one server to an another.
23
+
Any clients with an active session can subscribe to one or more topics present in different brokers and those brokers can be hosted on different machines.
24
+
25
+
The schema below shows a client who have active sessions on two EventMesh servers hosted on different machines.
26
+
It has one active session which subscribed to the topic `Person.*`. Therefore the client can receive messages from two RabbitMQ brokers hosted on different machines.
27
+
28
+

29
+
30
+
## CloudEvent
31
+
32
+
All messages coming from Brokers are translated into CloudEvent and vice versa.
Heartbeat request are sent by client to check the availablity of an EventMesh Server.
82
72
83
73
### Hello request
84
74
85
-
*Request* : HELLO_REQUEST.
86
-
*Response* : HELLO_RESPONSE.
75
+
**Request** : HELLO_REQUEST.
76
+
77
+
**Response** : HELLO_RESPONSE.
87
78
88
79
Client send hello request to EventMesh server to create a session.
89
80
The following informations are passed in the request. They are used by the EventMesh server to check if the client is authorized to subscribe or publish.
@@ -101,7 +92,7 @@ The following informations are passed in the request. They are used by the Event
101
92
| Pid | int32 | Identifier of the process. |
102
93
103
94
> [!WARNING]
104
-
> When a bridge is created between two EventMesh servers. The parameters `Urn` and `Port` will be used to transmit messages from one server to the second and to the client.
95
+
> When a bridge is created between two EventMesh servers. The parameters `Urn` and `Port` will be used to transmit messages from one server to the second server and to the client.
105
96
106
97
When a session is created, an hello response is sent by the EventMesh server to the client.
107
98
It contains a unique session identifier. This value will be used by the client to perform future operations.
@@ -112,8 +103,9 @@ It contains a unique session identifier. This value will be used by the client t
112
103
113
104
### Subscribe request
114
105
115
-
*Request* : SUBSCRIBE_REQUEST.
116
-
*Response* : SUBSCRIBE_RESPONSE.
106
+
**Request** : SUBSCRIBE_REQUEST.
107
+
108
+
**Response** : SUBSCRIBE_RESPONSE.
117
109
118
110
> [!WARNING]
119
111
> A session is required to perform a subscription.
@@ -129,12 +121,47 @@ The following informations are passed in the request.
129
121
130
122
### Add Bridge request
131
123
132
-
TODO
124
+
**Request** : ADD_BRIDGE_REQUEST.
125
+
126
+
**Response** : ADD_BRIDGE_RESPONSE.
127
+
128
+
Bridge request are sent to create a bridge between two EventMesh servers.
129
+
The following informations are passed in the request :
| SessionId | string | Identifier of the session |
164
+
| Topic | string | Topic filter |
165
+
| Urn | string | URN of the targeted EventMesh server. When the value is specified then the message is sent to the targeted server. Otherwise the message is broadcast to all the servers. |
166
+
| Port | int32 | Port of the targeted EventMesh server |
0 commit comments