mirror of
https://github.com/pezkuwichain/pezkuwi-telemetry.git
synced 2026-04-22 16:08:04 +00:00
3 lines
90 KiB
XML
3 lines
90 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
<svg xmlns="http://www.w3.org/2000/svg" style="background-color: rgb(255, 255, 255);" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="827px" height="2569px" viewBox="-0.5 -0.5 827 2569" content="<mxfile host="app.diagrams.net" modified="2021-07-05T09:23:48.973Z" agent="5.0 (Macintosh)" etag="GQ4pBLNcUn__SJvbHp3q" version="14.8.3" type="device"><diagram id="ib34fVOXFVp8dovNSkbX" name="Page-1">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</diagram></mxfile>"><defs/><g><rect x="100" y="180" width="450" height="210" fill="#dae8fc" stroke="none" pointer-events="all"/><rect x="260" y="227" width="160" height="110" rx="16.5" ry="16.5" 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: 158px; height: 1px; padding-top: 282px; margin-left: 261px;"><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; ">Telemetry Core</div></div></div></foreignObject><text x="340" y="286" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Telemetry Core</text></switch></g><rect x="130" y="482" width="80" height="50" rx="7.5" ry="7.5" 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: 507px; margin-left: 131px;"><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; ">Feed 1</div></div></div></foreignObject><text x="170" y="511" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Feed 1</text></switch></g><rect x="220" y="482" width="80" height="50" rx="7.5" ry="7.5" 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: 507px; margin-left: 221px;"><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; ">Feed 2</div></div></div></foreignObject><text x="260" y="511" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Feed 2</text></switch></g><rect x="310" y="482" width="80" height="50" rx="7.5" ry="7.5" 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: 507px; margin-left: 311px;"><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; ">Feed 3</div></div></div></foreignObject><text x="350" y="511" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Feed 3</text></switch></g><rect x="440" y="482" width="80" height="50" rx="7.5" ry="7.5" 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: 507px; margin-left: 441px;"><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; "><div>Feed N<br /></div></div></div></div></foreignObject><text x="480" y="511" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Feed N
</text></switch></g><path d="M 200 130 L 256.65 221.58" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 259.41 226.05 L 252.75 221.94 L 256.65 221.58 L 258.71 218.25 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 290 130 L 299.35 220.67" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 299.89 225.89 L 295.69 219.28 L 299.35 220.67 L 302.65 218.57 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 380 130 L 380 220.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 380 225.88 L 376.5 218.88 L 380 220.63 L 383.5 218.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 470 130 L 422.92 221.34" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 420.51 226.01 L 420.61 218.18 L 422.92 221.34 L 426.83 221.39 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="250" y="80" width="80" height="50" rx="7.5" ry="7.5" 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: 105px; margin-left: 251px;"><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; ">Node</div></div></div></foreignObject><text x="290" y="109" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Node</text></switch></g><rect x="340" y="80" width="80" height="50" rx="7.5" ry="7.5" 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: 105px; margin-left: 341px;"><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; ">Node</div></div></div></foreignObject><text x="380" y="109" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Node</text></switch></g><rect x="430" y="80" width="80" height="50" rx="7.5" ry="7.5" 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: 105px; margin-left: 431px;"><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; ">Node</div></div></div></foreignObject><text x="470" y="109" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Node</text></switch></g><rect x="160" y="80" width="80" height="50" rx="7.5" ry="7.5" 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: 105px; 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; ">Node</div></div></div></foreignObject><text x="200" y="109" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Node</text></switch></g><path d="M 256.64 342.41 L 173.36 476.59" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 259.41 337.95 L 258.69 345.74 L 256.64 342.41 L 252.75 342.05 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 170.59 481.05 L 171.31 473.26 L 173.36 476.59 L 177.25 476.95 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 298.31 343.14 L 261.69 475.86" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 299.7 338.08 L 301.22 345.76 L 298.31 343.14 L 294.47 343.89 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 260.3 480.92 L 258.78 473.24 L 261.69 475.86 L 265.53 475.11 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 340.44 343.35 L 349.56 475.65" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 340.08 338.12 L 344.05 344.86 L 340.44 343.35 L 337.07 345.34 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 349.92 480.88 L 345.95 474.14 L 349.56 475.65 L 352.93 473.66 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 422.43 342.88 L 477.57 476.12" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 420.43 338.03 L 426.34 343.16 L 422.43 342.88 L 419.87 345.84 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 479.57 480.97 L 473.66 475.84 L 477.57 476.12 L 480.13 473.16 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="590" y="200" width="220" height="160" 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: 212px; height: 1px; padding-top: 190px; margin-left: 595px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; max-height: 170px; overflow: hidden; "><div style="display: inline-block; font-size: 10px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div><br /></div><div>Nodes connect to the telemetry address and their connection is routed to the telemetry core process.</div><div><br /></div><div>The core process stores chain-specific state, and routes messages to the relevant chain to update that state and send updates to feeds subscribed to that chain.</div><div><br /></div><div>Feeds subscribe to chains and are routed to the relevant chain actor to receive updates from it.<br /></div><div><br /></div><div><br /></div></div></div></div></foreignObject><text x="595" y="200" fill="#000000" font-family="Helvetica" font-size="10px">Nodes connect to the telemetry address and...</text></switch></g><rect x="456" y="190" width="40" height="20" 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 center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 200px; margin-left: 457px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 8px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">JSON</div></div></div></foreignObject><text x="476" y="202" fill="#000000" font-family="Helvetica" font-size="8px" text-anchor="middle">JSON</text></switch></g><rect x="456" y="415" width="80" height="25" 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 center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 428px; margin-left: 457px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 8px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div style="font-size: 8px">JSON <br style="font-size: 8px" /></div><div style="font-size: 8px">(compact format)<br style="font-size: 8px" /></div></div></div></div></foreignObject><text x="496" y="430" fill="#000000" font-family="Helvetica" font-size="8px" text-anchor="middle">JSON...</text></switch></g><rect x="150" y="30" width="380" height="20" 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 center; justify-content: unsafe center; width: 378px; height: 1px; padding-top: 40px; margin-left: 151px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 8px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 16px"><b>The current architecture<br /></b></font></div></div></div></foreignObject><text x="340" y="42" fill="#000000" font-family="Helvetica" font-size="8px" text-anchor="middle">The current architecture
</text></switch></g><rect x="100" y="800" width="450" height="460" fill="#dae8fc" stroke="none" pointer-events="all"/><rect x="130" y="947" width="80" height="50" rx="7.5" ry="7.5" 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: 972px; margin-left: 131px;"><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; ">Shard 1</div></div></div></foreignObject><text x="170" y="976" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Shard 1</text></switch></g><rect x="220" y="947" width="80" height="50" rx="7.5" ry="7.5" 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: 972px; margin-left: 221px;"><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; ">Shard 2</div></div></div></foreignObject><text x="260" y="976" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Shard 2</text></switch></g><rect x="310" y="947" width="80" height="50" rx="7.5" ry="7.5" 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: 972px; margin-left: 311px;"><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; ">Shard 3</div></div></div></foreignObject><text x="350" y="976" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Shard 3</text></switch></g><rect x="440" y="947" width="80" height="50" rx="7.5" ry="7.5" 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: 972px; margin-left: 441px;"><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; ">Shard N</div></div></div></foreignObject><text x="480" y="976" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Shard N</text></switch></g><rect x="260" y="1127" width="160" height="110" rx="16.5" ry="16.5" 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: 158px; height: 1px; padding-top: 1182px; margin-left: 261px;"><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; ">Telemetry Core</div></div></div></foreignObject><text x="340" y="1186" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Telemetry Core</text></switch></g><rect x="130" y="1352" width="80" height="50" rx="7.5" ry="7.5" 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: 1377px; margin-left: 131px;"><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; ">Feed 1</div></div></div></foreignObject><text x="170" y="1381" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Feed 1</text></switch></g><rect x="220" y="1352" width="80" height="50" rx="7.5" ry="7.5" 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: 1377px; margin-left: 221px;"><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; ">Feed 2</div></div></div></foreignObject><text x="260" y="1381" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Feed 2</text></switch></g><rect x="310" y="1352" width="80" height="50" rx="7.5" ry="7.5" 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: 1377px; margin-left: 311px;"><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; ">Feed 3</div></div></div></foreignObject><text x="350" y="1381" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Feed 3</text></switch></g><rect x="440" y="1352" width="80" height="50" rx="7.5" ry="7.5" 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: 1377px; margin-left: 441px;"><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; "><div>Feed N<br /></div></div></div></div></foreignObject><text x="480" y="1381" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Feed N
</text></switch></g><path d="M 173.62 1002.24 L 256.38 1121.76" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 170.64 997.92 L 177.5 1001.68 L 173.62 1002.24 L 171.74 1005.67 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 259.36 1126.08 L 252.5 1122.32 L 256.38 1121.76 L 258.26 1118.33 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 261.87 1003.09 L 298.13 1120.91" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 260.33 998.07 L 265.73 1003.73 L 261.87 1003.09 L 259.04 1005.79 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 299.67 1125.93 L 294.27 1120.27 L 298.13 1120.91 L 300.96 1118.21 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 349.51 1003.35 L 340.49 1120.65" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 349.91 998.11 L 352.87 1005.36 L 349.51 1003.35 L 345.89 1004.83 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 340.09 1125.89 L 337.13 1118.64 L 340.49 1120.65 L 344.11 1119.17 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 477.33 1002.78 L 422.67 1121.22" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 479.53 998.02 L 479.78 1005.84 L 477.33 1002.78 L 473.42 1002.9 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 420.47 1125.98 L 420.22 1118.16 L 422.67 1121.22 L 426.58 1121.1 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="240" y="730" width="80" height="50" rx="7.5" ry="7.5" 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: 755px; margin-left: 241px;"><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; ">Node</div></div></div></foreignObject><text x="280" y="759" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Node</text></switch></g><rect x="330" y="730" width="80" height="50" rx="7.5" ry="7.5" 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: 755px; margin-left: 331px;"><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; ">Node</div></div></div></foreignObject><text x="370" y="759" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Node</text></switch></g><rect x="420" y="730" width="80" height="50" rx="7.5" ry="7.5" 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: 755px; margin-left: 421px;"><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; ">Node</div></div></div></foreignObject><text x="460" y="759" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Node</text></switch></g><rect x="150" y="730" width="80" height="50" rx="7.5" ry="7.5" 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: 755px; margin-left: 151px;"><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; ">Node</div></div></div></foreignObject><text x="190" y="759" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Node</text></switch></g><path d="M 190 780 L 190.05 833.98" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 190.06 839.23 L 186.55 832.24 L 190.05 833.98 L 193.55 832.23 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="130" y="840" width="390" height="50" rx="7.5" ry="7.5" 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: 388px; height: 1px; padding-top: 865px; margin-left: 131px;"><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; ">Load balancer</div></div></div></foreignObject><text x="325" y="869" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Load balancer</text></switch></g><path d="M 370 780 L 370.91 832.28" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 371 837.53 L 367.38 830.59 L 370.91 832.28 L 374.38 830.47 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 460 780 L 459.25 832.28" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 459.18 837.53 L 455.78 830.48 L 459.25 832.28 L 462.78 830.58 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 280 780 L 280.13 830.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 280.15 835.88 L 276.63 828.89 L 280.13 830.63 L 283.63 828.87 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 227.5 890 L 344.23 944.31" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 348.99 946.53 L 341.16 946.75 L 344.23 944.31 L 344.12 940.4 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 325 890 L 175.98 944.8" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 171.05 946.61 L 176.41 940.91 L 175.98 944.8 L 178.83 947.48 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 422.5 890 L 475.48 942.52" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 479.21 946.21 L 471.77 943.77 L 475.48 942.52 L 476.7 938.8 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 374.14 892.85 L 265.75 944.27" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 261.01 946.52 L 265.83 940.36 L 265.75 944.27 L 268.83 946.68 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 256.08 1242.01 L 173.92 1346.99" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 259.31 1237.88 L 257.75 1245.55 L 256.08 1242.01 L 252.24 1241.24 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 170.69 1351.12 L 172.25 1343.45 L 173.92 1346.99 L 177.76 1347.76 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 297.91 1243.01 L 262.09 1345.99" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 299.63 1238.06 L 300.64 1245.82 L 297.91 1243.01 L 294.03 1243.52 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 260.37 1350.94 L 259.36 1343.18 L 262.09 1345.99 L 265.97 1345.48 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 340.55 1243.34 L 349.45 1345.66" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 340.1 1238.11 L 344.19 1244.78 L 340.55 1243.34 L 337.22 1245.39 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 349.9 1350.89 L 345.81 1344.22 L 349.45 1345.66 L 352.78 1343.61 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 422.95 1242.65 L 477.05 1346.35" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 420.52 1237.99 L 426.86 1242.58 L 422.95 1242.65 L 420.65 1245.82 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 479.48 1351.01 L 473.14 1346.42 L 477.05 1346.35 L 479.35 1343.18 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="510" y="1237" width="40" height="20" 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 center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 1247px; margin-left: 511px;"><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; ">k8s</div></div></div></foreignObject><text x="530" y="1251" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">k8s</text></switch></g><rect x="590" y="720" width="220" height="80" 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: 212px; height: 1px; padding-top: 710px; margin-left: 595px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; max-height: 90px; overflow: hidden; "><div style="display: inline-block; font-size: 10px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div><br /></div><div>Nodes connect to the telemetry address and their connection is routed to one of the available shards. On connection, they send "system connected" messages for each set of node information they wish to send out and then start sending updates about that node.<br /></div></div></div></div></foreignObject><text x="595" y="720" fill="#000000" font-family="Helvetica" font-size="10px">Nodes connect to the telemetry address and...</text></switch></g><rect x="590" y="830" width="220" height="60" 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: 212px; height: 1px; padding-top: 820px; margin-left: 595px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; max-height: 70px; overflow: hidden; "><div style="display: inline-block; font-size: 10px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div><br /></div><div>One way or another, we'd like to distribute incoming connections across shards. Nodes will try to reconnect in a few seconds if they are disconnected.<br /></div></div></div></div></foreignObject><text x="595" y="830" fill="#000000" font-family="Helvetica" font-size="10px">One way or another, we'd like to distribut...</text></switch></g><rect x="590" y="937" width="220" height="83" 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: 212px; height: 1px; padding-top: 927px; margin-left: 595px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; max-height: 93px; overflow: hidden; "><div style="display: inline-block; font-size: 10px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div><br /></div><div>Shards receive JSON telemetry from nodes. Their main task is to deserialize it, and send along to the Telemetry Core only data that it cares about, ignoring the rest. It re-serializes to a more compact format (bincode currently) to try and minimise bandwidth to the core.<br /></div></div></div></div></foreignObject><text x="595" y="937" fill="#000000" font-family="Helvetica" font-size="10px">Shards receive JSON telemetry from nodes....</text></switch></g><rect x="590" y="1085" width="220" height="200" 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: 212px; height: 1px; padding-top: 1075px; margin-left: 595px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; max-height: 210px; overflow: hidden; "><div style="display: inline-block; font-size: 10px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div><br /></div><div>The core process keeps track of the state of connected nodes as information comes in, and broadcasts relevant updates out to feeds. If tells shards to "mute" messages from nodes when there are too many nodes on a chain, or a chain on our deny list.</div><div><br /></div><div>If this core process dies and restarts, shards will force nodes to reconnect after reconnecting to the core, so that they send out their "system connected" message again.</div><div><br /></div><div>If a shard connection is lost, the core removes all knowledge of nodes connected via that shard, and broadcasts relevant updates to feeds.<br /></div></div></div></div></foreignObject><text x="595" y="1085" fill="#000000" font-family="Helvetica" font-size="10px">The core process keeps track of the state...</text></switch></g><rect x="590" y="1342" width="220" height="98" 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: 212px; height: 1px; padding-top: 1332px; margin-left: 595px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; max-height: 108px; overflow: hidden; "><div style="display: inline-block; font-size: 10px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div><br /></div><div>Feeds are browsers that have connected to the telemetry core. Feeds get sent basic information about the chains that exist, and then tell the core what chain they want to subscribe to. The core keeps track of this and sends chain-specific messages only to interested feeds.<br /></div></div></div></div></foreignObject><text x="595" y="1342" fill="#000000" font-family="Helvetica" font-size="10px">Feeds are browsers that have connected to...</text></switch></g><rect x="456" y="1060" width="40" height="20" 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 center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 1070px; margin-left: 457px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 8px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">bincode</div></div></div></foreignObject><text x="476" y="1072" fill="#000000" font-family="Helvetica" font-size="8px" text-anchor="middle">bincode</text></switch></g><rect x="460" y="910" width="40" height="20" 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 center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 920px; margin-left: 461px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 8px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">JSON</div></div></div></foreignObject><text x="480" y="922" fill="#000000" font-family="Helvetica" font-size="8px" text-anchor="middle">JSON</text></switch></g><rect x="456" y="1285" width="80" height="25" 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 center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 1298px; margin-left: 457px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 8px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div style="font-size: 8px">JSON <br style="font-size: 8px" /></div><div style="font-size: 8px">(compact format)<br style="font-size: 8px" /></div></div></div></div></foreignObject><text x="496" y="1300" fill="#000000" font-family="Helvetica" font-size="8px" text-anchor="middle">JSON...</text></switch></g><rect x="150" y="630" width="380" height="20" 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 center; justify-content: unsafe center; width: 378px; height: 1px; padding-top: 640px; margin-left: 151px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 8px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 16px"><b>The new architecture ("sharded")</b></font></div></div></div></foreignObject><text x="340" y="642" fill="#000000" font-family="Helvetica" font-size="8px" text-anchor="middle">The new architecture ("sharded")</text></switch></g><rect x="100" y="1700" width="450" height="540" fill="#dae8fc" stroke="none" pointer-events="all"/><rect x="130" y="1847" width="80" height="50" rx="7.5" ry="7.5" 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: 1872px; margin-left: 131px;"><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; ">Shard 1</div></div></div></foreignObject><text x="170" y="1876" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Shard 1</text></switch></g><rect x="220" y="1847" width="80" height="50" rx="7.5" ry="7.5" 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: 1872px; margin-left: 221px;"><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; ">Shard 2</div></div></div></foreignObject><text x="260" y="1876" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Shard 2</text></switch></g><rect x="310" y="1847" width="80" height="50" rx="7.5" ry="7.5" 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: 1872px; margin-left: 311px;"><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; ">Shard 3</div></div></div></foreignObject><text x="350" y="1876" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Shard 3</text></switch></g><rect x="440" y="1847" width="80" height="50" rx="7.5" ry="7.5" 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: 1872px; margin-left: 441px;"><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; ">Shard N</div></div></div></foreignObject><text x="480" y="1876" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Shard N</text></switch></g><rect x="130" y="1997" width="120" height="73" rx="10.95" ry="10.95" 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: 2034px; margin-left: 131px;"><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; ">Telemetry Core</div></div></div></foreignObject><text x="190" y="2037" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Telemetry Core</text></switch></g><rect x="130" y="2332" width="80" height="50" rx="7.5" ry="7.5" 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: 2357px; margin-left: 131px;"><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; ">Feed 1</div></div></div></foreignObject><text x="170" y="2361" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Feed 1</text></switch></g><rect x="220" y="2332" width="80" height="50" rx="7.5" ry="7.5" 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: 2357px; margin-left: 221px;"><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; ">Feed 2</div></div></div></foreignObject><text x="260" y="2361" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Feed 2</text></switch></g><rect x="310" y="2332" width="80" height="50" rx="7.5" ry="7.5" 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: 2357px; margin-left: 311px;"><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; ">Feed 3</div></div></div></foreignObject><text x="350" y="2361" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Feed 3</text></switch></g><rect x="440" y="2332" width="80" height="50" rx="7.5" ry="7.5" 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: 2357px; margin-left: 441px;"><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; "><div>Feed N<br /></div></div></div></div></foreignObject><text x="480" y="2361" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Feed N
</text></switch></g><path d="M 171.25 1903.24 L 188.75 1990.76" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 170.22 1898.1 L 175.02 1904.27 L 171.25 1903.24 L 168.16 1905.65 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 189.78 1995.9 L 184.98 1989.73 L 188.75 1990.76 L 191.84 1988.35 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 256.35 1902.22 L 193.65 1991.78" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 259.36 1897.92 L 258.21 1905.66 L 256.35 1902.22 L 252.48 1901.64 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 190.64 1996.08 L 191.79 1988.34 L 193.65 1991.78 L 197.52 1992.36 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 348.17 1903.1 L 321.83 1990.9" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 349.68 1898.07 L 351.02 1905.78 L 348.17 1903.1 L 344.31 1903.77 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 320.32 1995.93 L 318.98 1988.22 L 321.83 1990.9 L 325.69 1990.23 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 478.22 1903.11 L 451.78 1993.89" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 479.69 1898.07 L 481.09 1905.77 L 478.22 1903.11 L 474.37 1903.82 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 450.31 1998.93 L 448.91 1991.23 L 451.78 1993.89 L 455.63 1993.18 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="240" y="1630" width="80" height="50" rx="7.5" ry="7.5" 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: 1655px; margin-left: 241px;"><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; ">Node</div></div></div></foreignObject><text x="280" y="1659" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Node</text></switch></g><rect x="330" y="1630" width="80" height="50" rx="7.5" ry="7.5" 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: 1655px; margin-left: 331px;"><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; ">Node</div></div></div></foreignObject><text x="370" y="1659" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Node</text></switch></g><rect x="420" y="1630" width="80" height="50" rx="7.5" ry="7.5" 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: 1655px; margin-left: 421px;"><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; ">Node</div></div></div></foreignObject><text x="460" y="1659" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Node</text></switch></g><rect x="150" y="1630" width="80" height="50" rx="7.5" ry="7.5" 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: 1655px; margin-left: 151px;"><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; ">Node</div></div></div></foreignObject><text x="190" y="1659" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Node</text></switch></g><path d="M 190 1680 L 190.05 1733.98" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 190.06 1739.23 L 186.55 1732.24 L 190.05 1733.98 L 193.55 1732.23 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="130" y="1740" width="390" height="50" rx="7.5" ry="7.5" 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: 388px; height: 1px; padding-top: 1765px; margin-left: 131px;"><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; ">Load balancer</div></div></div></foreignObject><text x="325" y="1769" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Load balancer</text></switch></g><path d="M 370 1680 L 370.91 1732.28" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 371 1737.53 L 367.38 1730.59 L 370.91 1732.28 L 374.38 1730.47 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 460 1680 L 459.25 1732.28" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 459.18 1737.53 L 455.78 1730.48 L 459.25 1732.28 L 462.78 1730.58 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 280 1680 L 280.13 1730.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 280.15 1735.88 L 276.63 1728.89 L 280.13 1730.63 L 283.63 1728.87 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 227.5 1790 L 344.23 1844.31" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 348.99 1846.53 L 341.16 1846.75 L 344.23 1844.31 L 344.12 1840.4 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 325 1790 L 175.98 1844.8" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 171.05 1846.61 L 176.41 1840.91 L 175.98 1844.8 L 178.83 1847.48 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 422.5 1790 L 475.48 1842.52" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 479.21 1846.21 L 471.77 1843.77 L 475.48 1842.52 L 476.7 1838.8 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 374.14 1792.85 L 265.75 1844.27" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 261.01 1846.52 L 265.83 1840.36 L 265.75 1844.27 L 268.83 1846.68 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 170.16 2217.52 L 170.01 2325.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 170.17 2212.27 L 173.66 2219.27 L 170.16 2217.52 L 166.66 2219.26 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 170 2330.88 L 166.51 2323.88 L 170.01 2325.63 L 173.51 2323.89 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 258.4 2217.52 L 259.91 2325.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 258.33 2212.27 L 261.92 2219.22 L 258.4 2217.52 L 254.92 2219.32 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 259.98 2330.88 L 256.39 2323.93 L 259.91 2325.63 L 263.39 2323.83 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 348.48 2217.52 L 349.92 2325.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 348.41 2212.27 L 352.01 2219.22 L 348.48 2217.52 L 345.01 2219.31 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 349.99 2330.88 L 346.39 2323.93 L 349.92 2325.63 L 353.39 2323.84 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 476.15 2219.21 L 479.78 2325.64" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 475.97 2213.97 L 479.71 2220.84 L 476.15 2219.21 L 472.71 2221.08 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 479.96 2330.88 L 476.22 2324.01 L 479.78 2325.64 L 483.22 2323.77 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="510" y="2217" width="40" height="20" 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 center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 2227px; margin-left: 511px;"><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; ">k8s</div></div></div></foreignObject><text x="530" y="2231" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">k8s</text></switch></g><rect x="590" y="1837" width="220" height="123" 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: 212px; height: 1px; padding-top: 1827px; margin-left: 595px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; max-height: 133px; overflow: hidden; "><div style="display: inline-block; font-size: 10px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div><br /></div><div>Shards connect to multiple telemetry core processes and clone messages to each of them. Potentially, we could "bucket" things based on genesis hashes, but an easy first step is to send all messages to every core.</div><div><br /></div><div>If any of the connected "core" processes go down, we force nodes to reconnect when it comes back up, to get new uptodate "system connected" messages.<br /></div></div></div></div></foreignObject><text x="595" y="1837" fill="#000000" font-family="Helvetica" font-size="10px">Shards connect to multiple telemetry core...</text></switch></g><rect x="590" y="2009" width="220" height="55" 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: 212px; height: 1px; padding-top: 1999px; margin-left: 595px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; max-height: 65px; overflow: hidden; "><div style="display: inline-block; font-size: 10px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div><br /></div><div>Each telemetry core process would have a complete state of the world, and work in the same way that it does in the current sharded approach.<br /></div></div></div></div></foreignObject><text x="595" y="2009" fill="#000000" font-family="Helvetica" font-size="10px">Each telemetry core process would have a c...</text></switch></g><rect x="590" y="2157" width="220" height="60" 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: 212px; height: 1px; padding-top: 2147px; margin-left: 595px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; max-height: 70px; overflow: hidden; "><div style="display: inline-block; font-size: 10px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div><br /></div><div>Because we have multiple "core" processes with a complete state of the world, we can load balance connected feeds across them.<br /></div></div></div></div></foreignObject><text x="595" y="2157" fill="#000000" font-family="Helvetica" font-size="10px">Because we have multiple "core" processes...</text></switch></g><rect x="466" y="1950" width="40" height="20" 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 center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 1960px; margin-left: 467px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 8px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">bincode</div></div></div></foreignObject><text x="486" y="1962" fill="#000000" font-family="Helvetica" font-size="8px" text-anchor="middle">bincode</text></switch></g><rect x="460" y="1810" width="40" height="20" 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 center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 1820px; margin-left: 461px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 8px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">JSON</div></div></div></foreignObject><text x="480" y="1822" fill="#000000" font-family="Helvetica" font-size="8px" text-anchor="middle">JSON</text></switch></g><rect x="476" y="2265" width="80" height="25" 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 center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 2278px; margin-left: 477px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 8px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div style="font-size: 8px">JSON <br style="font-size: 8px" /></div><div style="font-size: 8px">(compact format)<br style="font-size: 8px" /></div></div></div></div></foreignObject><text x="516" y="2280" fill="#000000" font-family="Helvetica" font-size="8px" text-anchor="middle">JSON...</text></switch></g><rect x="150" y="1530" width="380" height="20" 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 center; justify-content: unsafe center; width: 378px; height: 1px; padding-top: 1540px; margin-left: 151px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 8px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 16px"><b>One possible future from this<br /></b></font></div></div></div></foreignObject><text x="340" y="1542" fill="#000000" font-family="Helvetica" font-size="8px" text-anchor="middle">One possible future from this
</text></switch></g><rect x="260" y="1997" width="120" height="73" rx="10.95" ry="10.95" 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: 2034px; margin-left: 261px;"><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; ">Telemetry Core</div></div></div></foreignObject><text x="320" y="2037" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Telemetry Core</text></switch></g><rect x="390" y="2000" width="120" height="73" rx="10.95" ry="10.95" 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: 2037px; margin-left: 391px;"><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; ">Telemetry Core</div></div></div></foreignObject><text x="450" y="2040" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Telemetry Core</text></switch></g><rect x="130" y="2160" width="390" height="50" rx="7.5" ry="7.5" 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: 388px; height: 1px; padding-top: 2185px; margin-left: 131px;"><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; ">Load balancer</div></div></div></foreignObject><text x="325" y="2189" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Load balancer</text></switch></g><path d="M 192.45 2075.88 L 225.05 2154.12" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 190.43 2071.03 L 196.35 2076.15 L 192.45 2075.88 L 189.89 2078.84 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 227.07 2158.97 L 221.15 2153.85 L 225.05 2154.12 L 227.61 2151.16 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 320.35 2076.36 L 324.65 2153.64" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 320.06 2071.12 L 323.94 2077.91 L 320.35 2076.36 L 316.96 2078.3 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 324.94 2158.88 L 321.06 2152.09 L 324.65 2153.64 L 328.04 2151.7 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 448.08 2079.07 L 424.42 2153.93" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 449.66 2074.07 L 450.89 2081.8 L 448.08 2079.07 L 444.22 2079.69 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 422.84 2158.93 L 421.61 2151.2 L 424.42 2153.93 L 428.28 2153.31 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 175.3 1900.53 L 314.7 1993.47" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 170.93 1897.62 L 178.7 1898.59 L 175.3 1900.53 L 174.81 1904.42 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 319.07 1996.38 L 311.3 1995.41 L 314.7 1993.47 L 315.19 1989.58 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 176 1902.14 L 444 1997.86" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 171.05 1900.38 L 178.82 1899.43 L 176 1902.14 L 176.47 1906.03 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 448.95 1999.62 L 441.18 2000.57 L 444 1997.86 L 443.53 1993.97 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 344.6 1903.38 L 195.4 1996.62" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 349.05 1900.59 L 344.97 1907.27 L 344.6 1903.38 L 341.26 1901.33 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 190.95 1999.41 L 195.03 1992.73 L 195.4 1996.62 L 198.74 1998.67 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 474.55 1903.3 L 325.45 1993.7" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 479.04 1900.58 L 474.87 1907.2 L 474.55 1903.3 L 471.24 1901.22 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 320.96 1996.42 L 325.13 1989.8 L 325.45 1993.7 L 328.76 1995.78 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 354.44 1901.57 L 445.56 1995.43" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 350.78 1897.8 L 358.17 1900.39 L 354.44 1901.57 L 353.14 1905.26 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 449.22 1999.2 L 441.83 1996.61 L 445.56 1995.43 L 446.86 1991.74 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 263.21 1902.5 L 316.79 1994.5" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 260.56 1897.97 L 267.11 1902.25 L 263.21 1902.5 L 261.06 1905.78 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 319.44 1999.03 L 312.89 1994.75 L 316.79 1994.5 L 318.94 1991.22 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 265.6 1900.03 L 444.4 1996.97" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 260.98 1897.53 L 268.8 1897.79 L 265.6 1900.03 L 265.47 1903.95 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 449.02 1999.47 L 441.2 1999.21 L 444.4 1996.97 L 444.53 1993.05 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 473.98 1899.08 L 196.02 1994.92" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 478.94 1897.36 L 473.47 1902.96 L 473.98 1899.08 L 471.18 1896.34 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 191.06 1996.64 L 196.53 1991.04 L 196.02 1994.92 L 198.82 1997.66 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="90" y="1550" width="480" height="51.5" 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 center; width: 472px; height: 1px; padding-top: 1540px; margin-left: 94px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; max-height: 62px; overflow: hidden; "><div style="display: inline-block; font-size: 10px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div><br /></div><div>With shards, we remove the bottleneck on incoming node traffic. We could also "shard" the telemetry core process to help reduce the load from connected feeds if we find it is necessary (either by completely separate processes as this diagram shows, or multiple "loops" running inside a single telemetry core process to internally split feed connections across.)<br /></div></div></div></div></foreignObject><text x="330" y="1550" fill="#000000" font-family="Helvetica" font-size="10px" text-anchor="middle">With shards, we remove the bottleneck on incoming node traffic. We could also "shard" the tele...</text></switch></g><rect x="85" y="650" width="480" height="51.5" 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 center; width: 472px; height: 1px; padding-top: 640px; margin-left: 89px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; max-height: 62px; overflow: hidden; "><div style="display: inline-block; font-size: 10px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div><br /></div><div>With a single telemetry service, we have a bunch of data coming in to a single process, which pushed bandwidth limits and puts more pressure on the single process to handle deserialization and such. We can add shards to spread the load of handling the incoming message deserialization and bandwidth, and they can each strip away all unneeded info before passing it on to the core process.<br /></div></div></div></div></foreignObject><text x="325" y="650" fill="#000000" font-family="Helvetica" font-size="10px" text-anchor="middle">With a single telemetry service, we have a bunch of data coming in to a single process, which...</text></switch></g><rect x="436" y="2100" width="80" height="25" 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 center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 2113px; margin-left: 437px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 8px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div style="font-size: 8px">JSON <br style="font-size: 8px" /></div><div style="font-size: 8px">(compact format)<br style="font-size: 8px" /></div></div></div></div></foreignObject><text x="476" y="2115" fill="#000000" font-family="Helvetica" font-size="8px" text-anchor="middle">JSON...</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> |