-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathkafka-vs-elastic-stack.drawio
317 lines (317 loc) · 34.1 KB
/
kafka-vs-elastic-stack.drawio
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
<mxfile host="app.diagrams.net" modified="2024-06-22T21:39:03.373Z" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Safari/605.1.15" etag="495b0S7f-zoei-xVgruX" version="24.6.2" type="github">
<diagram name="Page-1" id="u32jfDcwHZ4eOMGTb6TE">
<mxGraphModel dx="3343" dy="2828" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-36" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=1;exitDx=0;exitDy=0;entryX=0.25;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="Yqh2Zt63WlNYlDMRdGiX-44" target="Yqh2Zt63WlNYlDMRdGiX-35">
<mxGeometry relative="1" as="geometry">
<mxPoint x="412.5" y="-670" as="sourcePoint" />
<Array as="points">
<mxPoint x="190" y="-380" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-2" value="S3 Server" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="670" y="-380" width="230" height="60" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-5" value="Kafka Cluster<div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div>" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="-30" y="-60" width="880" height="910" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-6" value="Broker 1<div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div>" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="70" y="20" width="300" height="770" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-9" value="<div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div>Topic: UserMessage<div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div>" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="100" y="55" width="230" height="335" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-10" value="Partition 1<div>Key: user1_ID + user2_ID</div><div><br></div><div><br></div><div><br></div>" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="120" y="110" width="190" height="100" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-13" value="1" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="280" y="170" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-14" value="2" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="250" y="170" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-15" value="5" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="160" y="170" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-16" value="3" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="220" y="170" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-17" value="4" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="190" y="170" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-18" value="n+1" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="130" y="170" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-26" value="Partition 2<div>Key: user6_ID + user9_ID</div><div><br></div><div><br></div><div><br></div>" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="120" y="250" width="190" height="100" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-27" value="1" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="280" y="310" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-28" value="2" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="250" y="310" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-29" value="5" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="160" y="310" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-30" value="3" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="220" y="310" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-31" value="4" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="190" y="310" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-32" value="n+1" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="130" y="310" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-37" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=1;exitDx=0;exitDy=0;entryX=0.25;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="Yqh2Zt63WlNYlDMRdGiX-35" target="Yqh2Zt63WlNYlDMRdGiX-5">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-35" value="Kafka Producer Logic<div>Topic: UserMessage</div><div>Key: user1 + user2</div>" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="150" y="-380" width="160" height="80" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-42" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.25;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="Yqh2Zt63WlNYlDMRdGiX-47" target="Yqh2Zt63WlNYlDMRdGiX-40">
<mxGeometry relative="1" as="geometry">
<mxPoint x="450" y="-880" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-43" value="Receive<div>Message</div>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="Yqh2Zt63WlNYlDMRdGiX-42">
<mxGeometry x="0.2501" y="-6" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-38" value="Kafka Consumer<div>Topic: UserMesage</div><div>Key: user1 + user2</div>" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="350" y="-380" width="160" height="80" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-39" value="User 1<div><br></div><div>Hinge App&nbsp;</div>" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="160" y="-1020" width="120" height="110" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-40" value="User 2<div><br></div><div>Hinge App&nbsp;</div>" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="400" y="-1020" width="120" height="110" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-45" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=1;exitDx=0;exitDy=0;entryX=0.25;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="Yqh2Zt63WlNYlDMRdGiX-39" target="Yqh2Zt63WlNYlDMRdGiX-44">
<mxGeometry relative="1" as="geometry">
<mxPoint x="190" y="-910" as="sourcePoint" />
<mxPoint x="190" y="-380" as="targetPoint" />
<Array as="points" />
</mxGeometry>
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-46" value="Send<div>Message</div>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="Yqh2Zt63WlNYlDMRdGiX-45">
<mxGeometry x="-0.3095" y="5" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-44" value="Send<div>Message</div>" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="160" y="-680" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-48" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="Yqh2Zt63WlNYlDMRdGiX-38" target="Yqh2Zt63WlNYlDMRdGiX-47">
<mxGeometry relative="1" as="geometry">
<mxPoint x="430" y="-910" as="targetPoint" />
<mxPoint x="430" y="-380" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-47" value="Receive<div>Message</div>" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="370" y="-680" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-50" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=1;exitDx=0;exitDy=0;entryX=0.25;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="Yqh2Zt63WlNYlDMRdGiX-44" target="Yqh2Zt63WlNYlDMRdGiX-2">
<mxGeometry relative="1" as="geometry">
<mxPoint x="717.5" y="-660" as="sourcePoint" />
<mxPoint x="830" y="-390" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-51" value="Saved as file" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="Yqh2Zt63WlNYlDMRdGiX-50">
<mxGeometry x="-0.2941" y="1" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-63" value="" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="700" y="-850" width="520" height="260" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-56" value="Filebeat #n+1" style="whiteSpace=wrap;html=1;align=center;" vertex="1" parent="1">
<mxGeometry x="990" y="-720" width="180" height="80" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-52" value="Filebeat #1" style="whiteSpace=wrap;html=1;align=center;" vertex="1" parent="1">
<mxGeometry x="760" y="-720" width="170" height="80" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-64" value="<b>Filebeat Cluster</b><div>Polling 200s<div>Detect changes in files</div></div><div>Split files line by line</div><div>Send each line to Logstash cluster</div>" style="text;strokeColor=none;align=center;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="880" y="-790" width="160" height="30" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-66" value="" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="1360" y="-850" width="520" height="350" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-72" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="Yqh2Zt63WlNYlDMRdGiX-55" target="Yqh2Zt63WlNYlDMRdGiX-71">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-55" value="Logstash #1" style="whiteSpace=wrap;html=1;align=center;" vertex="1" parent="1">
<mxGeometry x="1430" y="-760" width="170" height="80" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-73" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="Yqh2Zt63WlNYlDMRdGiX-58">
<mxGeometry relative="1" as="geometry">
<mxPoint x="1630" y="-630" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-58" value="Logstash #n+1<br><div><br></div>" style="whiteSpace=wrap;html=1;align=center;" vertex="1" parent="1">
<mxGeometry x="1660" y="-760" width="170" height="80" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-67" value="<b>Logstash Cluster</b><div>Listening on port published to by Filebeat<div>Read lines&nbsp;</div></div>" style="text;strokeColor=none;align=center;fillColor=none;html=1;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="1500" y="-820" width="260" height="30" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-68" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=1;exitDx=0;exitDy=0;entryX=0.697;entryY=0.002;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="Yqh2Zt63WlNYlDMRdGiX-63" target="Yqh2Zt63WlNYlDMRdGiX-2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-71" value="Processor Config:<div><br></div><div>add fields</div><div>assert types</div><div>designate index name (a.k.a. topic)</div>" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="1430" y="-630" width="400" height="80" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-74" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=-0.001;entryY=0.37;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="Yqh2Zt63WlNYlDMRdGiX-63" target="Yqh2Zt63WlNYlDMRdGiX-66">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-75" value="Elasticsearch" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="1360" y="-240" width="500" height="320" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-76" value="Kibana" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="1360" y="350" width="500" height="320" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-78" value="Broker n+1<div><br><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div></div>" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="430" y="25" width="300" height="765" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-79" value="Topic: UserMessage<div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div>" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="460" y="60" width="230" height="330" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-80" value="Partition 1<div>Key: user1_ID + user2_ID</div><div><br></div><div><br></div><div><br></div>" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="480" y="115" width="190" height="100" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-81" value="1" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="640" y="175" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-82" value="2" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="610" y="175" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-83" value="5" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="520" y="175" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-84" value="3" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="580" y="175" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-85" value="4" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="550" y="175" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-86" value="n+1" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="490" y="175" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-87" value="Partition 2<div>Key: user6_ID + user9_ID</div><div><br></div><div><br></div><div><br></div>" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="480" y="255" width="190" height="100" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-88" value="1" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="640" y="315" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-89" value="2" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="610" y="315" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-90" value="5" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="520" y="315" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-91" value="3" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="580" y="315" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-92" value="4" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="550" y="315" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-93" value="n+1" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="490" y="315" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-94" value="<div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div>Topic: UserMessage<div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div>" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="100" y="420" width="230" height="335" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-95" value="Partition 1<div>Key: user1_ID + user2_ID</div><div><br></div><div><br></div><div><br></div>" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="120" y="475" width="190" height="100" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-96" value="1" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="280" y="535" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-97" value="2" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="250" y="535" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-98" value="5" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="160" y="535" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-99" value="3" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="220" y="535" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-100" value="4" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="190" y="535" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-101" value="n+1" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="130" y="535" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-102" value="Partition 2<div>Key: user6_ID + user9_ID</div><div><br></div><div><br></div><div><br></div>" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="120" y="615" width="190" height="100" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-103" value="1" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="280" y="675" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-104" value="2" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="250" y="675" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-105" value="5" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="160" y="675" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-106" value="3" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="220" y="675" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-107" value="4" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="190" y="675" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-108" value="n+1" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="130" y="675" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-109" value="Topic: UserMessage<div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div>" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="460" y="425" width="230" height="330" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-110" value="Partition 1<div>Key: user1_ID + user2_ID</div><div><br></div><div><br></div><div><br></div>" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="480" y="480" width="190" height="100" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-111" value="1" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="640" y="540" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-112" value="2" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="610" y="540" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-113" value="5" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="520" y="540" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-114" value="3" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="580" y="540" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-115" value="4" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="550" y="540" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-116" value="n+1" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="490" y="540" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-117" value="Partition 2<div>Key: user6_ID + user9_ID</div><div><br></div><div><br></div><div><br></div>" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="480" y="620" width="190" height="100" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-118" value="1" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="640" y="680" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-119" value="2" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="610" y="680" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-120" value="5" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="520" y="680" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-121" value="3" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="580" y="680" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-122" value="4" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="550" y="680" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="Yqh2Zt63WlNYlDMRdGiX-123" value="n+1" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="490" y="680" width="20" height="20" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>