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
@@ -137,7 +138,7 @@ InvoiceService ..> InvoiceDB: Update Invoice records
137
138
138
139
The diagram illustrates the example flow of events between the applications, the Knative _Event Mesh_, and the datastores which persist settled state of the system.
139
140
140
-
[NOTE]
141
+
[TIP]
141
142
====
142
143
Notice the applications aren't pulling the events from the queue.
143
144
In fact they aren't aware of any.
@@ -147,6 +148,14 @@ There are *no additional* libraries needed to consume events from _Event Mesh_.
147
148
The _Event Mesh_ pushes the events as _CloudEvents_ encoded as _REST_ messages.
148
149
====
149
150
151
+
[NOTE]
152
+
====
153
+
The exponential backoff algorithm used by _Event Mesh_ is configurable.
154
+
It uses the following formula to calculate the backoff period: `+backoffDelay * 2^<numberOfRetries>+`, where the backoff delay is a base number of seconds, and number of retries is automatically tracked by the _Event Mesh_.
155
+
156
+
A dead letter sink can also be configured to send events in case they exceed the maximum retry number, which is also configurable.
157
+
====
158
+
150
159
=== _Work Ledger_ analogy
151
160
152
161
A good way of thinking about the _Event Mesh_ and its persistent queue backend is the _Work Ledger_ analogy.
@@ -225,7 +234,7 @@ For instance:
225
234
Traditional systems often rely on synchronous calls and transactions, which can cascade failures across components.
226
235
Replacing these with asynchronous event-driven communication reduces dependencies and makes the system _Eventually Consistent_.
227
236
228
-
For example, invoicing and notification services in an e-commerce platform can process events independently, ensuring that downtime in one service does not block the entire workflow.
237
+
For example, invoicing and notification services in a ride-sharing platform can process events independently, ensuring that downtime in one service does not block the entire workflow.
229
238
230
239
Retry mechanisms provided by the _Event Mesh_ guarantee that transient failures are handled gracefully without data loss.
231
240
@@ -237,10 +246,10 @@ The applications publish and consume events, usually via
237
246
_HTTP REST_, and the only thing that is required is the _CloudEvents_ format.
238
247
239
248
The _CloudEvents_ format provides a common envelope for events with metadata that every event needs, such as identifier, type, timestamps, or source information.
240
-
The format is a CNCF standard supported by a number of projects and doesn't enforce the use of any library.
249
+
The format is a _CNCF_ standard supported by a number of projects and doesn't enforce the use of any library.
241
250
242
251
This makes the investment in _Knative's Event Mesh_ safe in terms of vendor lock-in.
243
252
Architects can be assured that their options remain open and that solutions can be easily reconfigured down the road.
244
253
245
254
What's more, relying on well-known and easy-to-deploy _CloudEvents_, typically over _HTTP_, makes testing simple and straightforward.
246
-
Developers don't need complex development environments because the _Event Mesh_ integration can be easily tested with regular _REST_ send or receive tests that most developers are familiar with.
255
+
Developers don't need complex development environments because the _Event Mesh_ integration can be easily tested with regular _REST_ testing that most developers are familiar with.
0 commit comments