1
0
Fork 0
mirror of synced 2024-06-29 11:40:45 +12:00
appwrite/docs/specs/realtime.drawio.svg
2021-03-29 10:56:06 +02:00

491 lines
40 KiB
XML

<svg host="65bd71144e" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="601px" height="861px" viewBox="-0.5 -0.5 601 861" content="&lt;mxfile&gt;&lt;diagram id=&quot;6hGFLwfOUW9BJ-s0fimq&quot; name=&quot;Page-1&quot;&gt;7Vvfc6M2EP5r/JgbkADbj4mTu3bmOpOp7ya9RwUUrAYjKuTYvr++EggDlpx4WoLkuTwkRosE2m+/Xa1+MIGL9e4LQ8XqD5rgbAK8ZDeBtxMAfC+IxI+U7GtJFIFakDKSqEqtYEl+4qalkm5IgsteRU5pxknRF8Y0z3HMezLEGN32qz3RrP/WAqVYEyxjlOnSB5LwVS2dgWkr/w2TdNW82Y/m9Z01aiorTcoVSui2I4J3E7hglPL6ar1b4EyC1+BSt/t84u6hYwzn/JwGQd3gBWUbpZvqF983yuJE6K6KlPEVTWmOsrtWesPoJk+wfKInSm2dr5QWQugL4d+Y870yJNpwKkQrvs7UXb3XSpGSblis+qF6JrvTqaPU+oLpGnO2FxUYzhAnL31TIWXx9FDv0PSeEvFW4Cl2Bo1pFDdB5PUfwRFLMVetWmjFRacbragC/AT4l4d+rbzqPhzaIj0sXwEOaLhdF8WWEY6F9Pr+dw3FPkbblai5LFCl21aEqDPxeMGM492rqqq7MOqTyJ+p8rYNF35DtFUnVATe/0ensUsHniXOE/nUqh5+EYqV1jEKgUWMQg2iP3FCBCjelfi7/y4U/Lz8fmMdpGMiHaLRGCD5vqb/COEI7wj/Szb/FKrSD/UweX276xb2qnBWCJvqISy0FsH0EOZs6Dfg1lQbH7ipwXGRyPzWMvQ/UPaMmbjQiTu24wKv77iHtGIMx72otK5J4Lv0spdZ+Bpyi3oSQWhuf8zUWHXumAmGYFV0QayCBlbZi/aGjGzzWMaMFG7yKjw3Wg3CKz0Zu94IWjDyE0l43EPn3CRsCHR8K072bknYfGgfPG8WD713m8XD0B0D+a8aSNiF7TuNZPFH917brCr9F8P2Au7gxj7XaeZaRDFlibpn2Z7ejZol+tAd4r4eWU4R1x+CuM2ishPzQhi5YxOLwcRkEwhsGaXpzRvhRHcn20tq44YTPejeb2SNYz5nGSlKPE58nYf9NCDQAQkNeIQD4BH+Iq585I9vT80MmQL0zGYcfiamk9Sl+b2WD4w5vw+nH4Q1ERaaBqPREgJ97HFr6eCYsqMuHUB9uc6tpQMNnTGXDsLZh0MbHRoYHBqO5dDA6RFISyFHHYHmH4Q1Etawmg2DsQjr+uL1MWXHHYH0rTa3RiANnTFHIKin2zY8/DwnM+xzw5nRYUfwuuDCkQusIRc6dGrF4hKaySjNsoYFozi01uyaUYA1o3zsXJ00SmDLKFA/4bTIiBMnNo/3wadQTyWCwJBKDHKq1dP0/xV3q5qMRF+MspKlODTWumYUaxEksJIpXoRRLG7szrSw/pWi5AZlKI/l9qFjC5XRmAfNA/0E2AREGZdaim5HKa+UrCVlgfJGJrdhRbtv1U5sffuRHTcQb++26T+ng3n0z0Z+dnXzRHN+VVY8vxYVfFDsxE/V0qvubZX68m5O2Vr2oWncvGVZ4Jg8kVgtAoiGTIKUJCRPJ2Ahr+XL4ww9ys/KKglrN5VLLgpryV4q/zFUrok83tT5zqXclxzLKqj6tmNTVpvQKc4xQxxLUfOhR/0QlEtzF4LXoi/rT2+gY4Sxa4wjvgqa8T4pxVNjqSy8DdvStyqaXIFTpKaCsU9Z9UXciiQJzrXQJADD2Q2Kn9NKvqCZQBbe5jTHw3hC0HcEQ44DpwY/mA/hB/oJW+tb6IfzbRa20AM9F7aORxhaxEMfRB7wY0njZ8w1UN6Aou9VQxDlaHYwMwAze6cBpAHXSWAgsAgMcBiYILAIjL5u7w4wYTQaMKLYfm1en35uv9mHd/8C&lt;/diagram&gt;&lt;/mxfile&gt;">
<defs/>
<g>
<path d="M 380 200 L 380 233.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 380 238.88 L 376.5 231.88 L 380 233.63 L 383.5 231.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 440 180 L 473.63 180" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 478.88 180 L 471.88 183.5 L 473.63 180 L 471.88 176.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<rect x="320" y="160" width="120" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 180px; margin-left: 321px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Appwrite API
</div>
</div>
</div>
</foreignObject>
<text x="380" y="184" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Appwrite API
</text>
</switch>
</g>
<rect x="480" y="160" width="120" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 180px; margin-left: 481px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Send all events
</div>
</div>
</div>
</foreignObject>
<text x="540" y="184" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Send all events
</text>
</switch>
</g>
<rect x="320" y="240" width="120" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 260px; margin-left: 321px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Redis - PUB/SUB
</div>
</div>
</div>
</foreignObject>
<text x="380" y="264" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Redis - PUB/SUB
</text>
</switch>
</g>
<path d="M 220 400 L 220 340 L 380 340 L 380 286.37" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 380 281.12 L 383.5 288.12 L 380 286.37 L 376.5 288.12 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 220 440 L 220 460 L 220 440 L 220 453.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 220 458.88 L 216.5 451.88 L 220 453.63 L 223.5 451.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<rect x="160" y="400" width="120" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 420px; margin-left: 161px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Realtime Worker 1
</div>
</div>
</div>
</foreignObject>
<text x="220" y="424" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Realtime Worker 1
</text>
</switch>
</g>
<path d="M 220 480 L 220 500 L 220 480 L 220 493.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 220 498.88 L 216.5 491.88 L 220 493.63 L 223.5 491.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<rect x="160" y="460" width="120" height="20" fill="#ffffff" stroke="#000000" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 470px; margin-left: 161px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Connections
</div>
</div>
</div>
</foreignObject>
<text x="220" y="474" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Connections
</text>
</switch>
</g>
<path d="M 220 520 L 220 540 L 220 520 L 220 533.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 220 538.88 L 216.5 531.88 L 220 533.63 L 223.5 531.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<rect x="160" y="500" width="120" height="20" fill="#ffffff" stroke="#000000" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 510px; margin-left: 161px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Subscriptions
</div>
</div>
</div>
</foreignObject>
<text x="220" y="514" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Subscriptions
</text>
</switch>
</g>
<rect x="160" y="540" width="120" height="20" fill="#ffffff" stroke="#000000" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 550px; margin-left: 161px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Authorization
</div>
</div>
</div>
</foreignObject>
<text x="220" y="554" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Authorization
</text>
</switch>
</g>
<path d="M 380 400 L 380 286.37" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 380 281.12 L 383.5 288.12 L 380 286.37 L 376.5 288.12 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 380 440 L 380 453.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 380 458.88 L 376.5 451.88 L 380 453.63 L 383.5 451.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<rect x="320" y="400" width="120" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 420px; margin-left: 321px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Realtime Worker 2
</div>
</div>
</div>
</foreignObject>
<text x="380" y="424" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Realtime Worker 2
</text>
</switch>
</g>
<path d="M 540 400 L 540 340 L 380 340 L 380 286.37" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 380 281.12 L 383.5 288.12 L 380 286.37 L 376.5 288.12 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 540 440 L 540 453.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 540 458.88 L 536.5 451.88 L 540 453.63 L 543.5 451.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<rect x="480" y="400" width="120" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 420px; margin-left: 481px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Realtime Worker 3
</div>
</div>
</div>
</foreignObject>
<text x="540" y="424" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Realtime Worker 3
</text>
</switch>
</g>
<ellipse cx="380" cy="345" rx="25" ry="25" fill="#ffffff" stroke="#000000" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 48px; height: 1px; padding-top: 345px; margin-left: 356px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Pull
</div>
</div>
</div>
</foreignObject>
<text x="380" y="349" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Pull
</text>
</switch>
</g>
<path d="M 380 480 L 380 493.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 380 498.88 L 376.5 491.88 L 380 493.63 L 383.5 491.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<rect x="320" y="460" width="120" height="20" fill="#ffffff" stroke="#000000" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 470px; margin-left: 321px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Connections
</div>
</div>
</div>
</foreignObject>
<text x="380" y="474" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Connections
</text>
</switch>
</g>
<path d="M 380 520 L 380 533.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 380 538.88 L 376.5 531.88 L 380 533.63 L 383.5 531.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<rect x="320" y="500" width="120" height="20" fill="#ffffff" stroke="#000000" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 510px; margin-left: 321px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Subscriptions
</div>
</div>
</div>
</foreignObject>
<text x="380" y="514" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Subscriptions
</text>
</switch>
</g>
<rect x="320" y="540" width="120" height="20" fill="#ffffff" stroke="#000000" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 550px; margin-left: 321px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Authorization
</div>
</div>
</div>
</foreignObject>
<text x="380" y="554" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Authorization
</text>
</switch>
</g>
<path d="M 540 480 L 540 493.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 540 498.88 L 536.5 491.88 L 540 493.63 L 543.5 491.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<rect x="480" y="460" width="120" height="20" fill="#ffffff" stroke="#000000" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 470px; margin-left: 481px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Connections
</div>
</div>
</div>
</foreignObject>
<text x="540" y="474" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Connections
</text>
</switch>
</g>
<path d="M 540 520 L 540 533.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 540 538.88 L 536.5 531.88 L 540 533.63 L 543.5 531.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<rect x="480" y="500" width="120" height="20" fill="#ffffff" stroke="#000000" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 510px; margin-left: 481px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Subscriptions
</div>
</div>
</div>
</foreignObject>
<text x="540" y="514" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Subscriptions
</text>
</switch>
</g>
<rect x="480" y="540" width="120" height="20" fill="#ffffff" stroke="#000000" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 550px; margin-left: 481px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Authorization
</div>
</div>
</div>
</foreignObject>
<text x="540" y="554" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Authorization
</text>
</switch>
</g>
<path d="M 380 710 L 380 690 L 380 700 L 380 686.37" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 380 681.12 L 383.5 688.12 L 380 686.37 L 376.5 688.12 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 380 750 L 380 785 L 200 785 L 200 813.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 200 818.88 L 196.5 811.88 L 200 813.63 L 203.5 811.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 380 750 L 380 785 L 320 785 L 320 813.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 320 818.88 L 316.5 811.88 L 320 813.63 L 323.5 811.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 380 750 L 380 785 L 440 785 L 440 813.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 440 818.88 L 436.5 811.88 L 440 813.63 L 443.5 811.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 380 750 L 380 785 L 560 785 L 560 813.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 560 818.88 L 556.5 811.88 L 560 813.63 L 563.5 811.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<rect x="160" y="710" width="440" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 438px; height: 1px; padding-top: 730px; margin-left: 161px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Clients
</div>
</div>
</div>
</foreignObject>
<text x="380" y="734" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Clients
</text>
</switch>
</g>
<path d="M 380 640 L 380 566.37" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 380 561.12 L 383.5 568.12 L 380 566.37 L 376.5 568.12 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 380 640 L 380 600 L 540 600 L 540 566.37" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 540 561.12 L 543.5 568.12 L 540 566.37 L 536.5 568.12 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 380 640 L 380 600 L 220 600 L 220 566.37" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 220 561.12 L 223.5 568.12 L 220 566.37 L 216.5 568.12 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<rect x="320" y="640" width="120" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 660px; margin-left: 321px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
LoadBalancer
</div>
</div>
</div>
</foreignObject>
<text x="380" y="664" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
LoadBalancer
</text>
</switch>
</g>
<rect x="0" y="10" width="370" height="90" fill="none" stroke="none" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 362px; height: 1px; padding-top: 0px; margin-left: 5px;">
<div style="box-sizing: border-box; font-size: 0; text-align: left; max-height: 100px; overflow: hidden; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
<h1>
<span>
Real Time
<br/>
</span>
<span style="font-size: 12px ; font-weight: normal">
Specification for adding, a sclabale, realtime stream to trasmit Appwrite system and user generated events to any platform.
</span>
<br/>
</h1>
</div>
</div>
</div>
</foreignObject>
<text x="5" y="12" fill="#000000" font-family="Helvetica" font-size="12px">
Real Time...
</text>
</switch>
</g>
<ellipse cx="220" cy="345" rx="25" ry="25" fill="#ffffff" stroke="#000000" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 48px; height: 1px; padding-top: 345px; margin-left: 196px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Pull
</div>
</div>
</div>
</foreignObject>
<text x="220" y="349" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Pull
</text>
</switch>
</g>
<ellipse cx="540" cy="345" rx="25" ry="25" fill="#ffffff" stroke="#000000" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 48px; height: 1px; padding-top: 345px; margin-left: 516px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Pull
</div>
</div>
</div>
</foreignObject>
<text x="540" y="349" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Pull
</text>
</switch>
</g>
<rect x="160" y="820" width="80" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 840px; margin-left: 161px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Websocket
</div>
</div>
</div>
</foreignObject>
<text x="200" y="844" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Websocket
</text>
</switch>
</g>
<rect x="280" y="820" width="80" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 840px; margin-left: 281px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Websocket
</div>
</div>
</div>
</foreignObject>
<text x="320" y="844" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Websocket
</text>
</switch>
</g>
<rect x="400" y="820" width="80" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 840px; margin-left: 401px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Websocket
</div>
</div>
</div>
</foreignObject>
<text x="440" y="844" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Websocket
</text>
</switch>
</g>
<rect x="520" y="820" width="80" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 840px; margin-left: 521px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Websocket
</div>
</div>
</div>
</foreignObject>
<text x="560" y="844" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Websocket
</text>
</switch>
</g>
</g>
<switch>
<g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/>
<a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank">
<text text-anchor="middle" font-size="10px" x="50%" y="100%">
Viewer does not support full SVG 1.1
</text>
</a>
</switch>
</svg>