Version 2.1 by eMagiz on 2022/05/22 21:23

Show last authors
1 {{html wiki="true"}}
2 <div class="ez-academy">
3 <div class="ez-academy_body">
4
5 <div class="doc">
6
7
8
9 = Event Streaming =
10
11 In this microlearning, we will learn how error handling works for event processors. In a later module, we will learn more about event processors and we will learn how to configure them. In this microlearning, the focus will remain on error handling and not on flow configuration.
12
13 Should you have any questions, please contact academy@emagiz.com.
14
15 * Last update: August 4th, 2021
16 * Required reading time: 5 minutes
17
18 == 1. Prerequisites ==
19
20 * Intermediate knowledge of the eMagiz platform
21
22 == 2. Key concepts ==
23
24 This microlearning centers on error handling for Event Streaming.
25
26 * The key aspects are:
27 * The producer and consumer are responsible for handling the error correctly
28 * eMagiz will only log exceptions that occur within an event processor
29 * You can use the log to determine what went wrong where and when
30 * When eMagiz only provides the topic no additional logging functionality is available in eMagiz
31
32
33
34 == 3. Event Streaming ==
35
36 In this microlearning, we will learn how error handling works for event processors. In a later module, we will learn more about event processors and we will learn how to configure them. In this microlearning, the focus will remain on error handling and not on flow configuration.
37
38 * The key aspects are:
39 The producer and consumer are responsible for handling the error correctly
40 * eMagiz will only log exceptions that occur within an event processor
41 * You can use the log to determine what went wrong where and when
42 * When eMagiz only provides the topic no additional logging functionality is available in eMagiz
43
44 As we learned in previous microlearnings on the subject of Event Streaming the idea behind it is that producers and consumers can act completely independently of one another. They do not have to be aware of each other. Facilitating Event Streaming in eMagiz can be done in two ways:
45
46 * eMagiz will only be the broker providing the topics
47 * eMagiz will process data between topics via an Event Processor
48
49 In the first case, the producer and consumer will be solely responsible for error handling in case something goes wrong. This is in line with the philosophy of Event Streaming. In case eMagiz is used to process data between topics the data will pass through an eMagiz flow. Within this flow, things can go wrong. In case they go wrong an exception is written to the log of eMagiz. You can find these exceptions in the Manage phase of eMagiz under Monitoring -> Log entries. Here you can filter on the Event Streaming runtime, on level error, and message (Error while processing). This will provide you with a list of errors on the Event Streaming level.
50
51 <p align="center">[[image:intermediate-understanding-error-handling-in-emagiz-event-streaming--error-list-manage.png||]]</p>
52
53 Each of these errors corresponds with a failed attempt to process a certain message. Keep an eye out for this logging to prevent data loss. If an error persists you should start thinking about finding out and subsequently solving the underlying problem.
54
55 ===== Practice =====
56
57 == 4. Assignment ==
58
59 Check out if you have a project in which the Event Streaming pattern is used. If so, check out if you can find any errors that have occurred and see whether you can interpret them.
60
61 == 5. Key takeaways ==
62
63 * The key aspects are:
64 * The producer and consumer are responsible for handling the error correctly
65 * eMagiz will only log exceptions that occur within an event processor
66 * You can use the log to determine what went wrong where and when
67 * When eMagiz only provides the topic no additional logging functionality is available in eMagiz
68
69
70
71 == 6. Suggested Additional Readings ==
72
73 If you are interested in this topic please read the help text eMagiz provides you.
74
75 == 7. Silent demonstration video ==
76
77 As this is a more theoretical microlearning we have no video for this.
78
79 </div>
80
81 </div>
82 </div>
83
84 {{/html}}