keycloak-scim/docs/guides/images/high-availability/active-active-sync.dio.svg
Ryan Emerson db14ab1365
Refactor HA guide to refer to generic multi-site deployments
Old Active/Passive guides replaced with Active/Active architecture, but
A/P vs A/A distinction hidden from users in favour of generic multi-site
docs.

Closes #31029

Signed-off-by: Ryan Emerson <remerson@redhat.com>
Signed-off-by: Alexander Schwartz <aschwart@redhat.com>
Co-authored-by: Alexander Schwartz <aschwart@redhat.com>
2024-08-07 08:22:59 +00:00

4 lines
No EOL
15 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!-- Do not edit this file with editors other than diagrams.net -->
<!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" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="511px" height="451px" viewBox="-0.5 -0.5 511 451" content="&lt;mxfile host=&quot;drawio-plugin&quot; modified=&quot;2024-07-26T12:17:04.810Z&quot; agent=&quot;Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36&quot; etag=&quot;WcO2pltqfT9R-KF68W9I&quot; version=&quot;22.1.22&quot; type=&quot;embed&quot;&gt;&lt;diagram id=&quot;23iRSUPoRavnBvh4doch&quot; name=&quot;Page-1&quot;&gt;7VrbcuI4EP0aXinfgccQMrNbm61KFVu1M4/CFlgT2U3JIkC+fiUsWfKFQIgTZrLDS6RW6+I+rdMtKQP/Ntt9ZWid/g0JpgPPSXYDfzbwxC9wxB8p2ZcS1xmNSsmKkUTJjGBOnrFWVNINSXBRU+QAlJN1XRhDnuOY12SIMdjW1ZZA67Ou0Qq3BPMY0bb0X5LwtJSOvZGR/4HJKtUzu9GkbMmQVlZfUqQoga0l8u8G/i0D4GUp291iKq2n7VL2+3KktVoYwzk/p4OnFvaE6EZ93JxwLCRTtUC+11/NYJMnWHZ0Bv50mwq9+RrFsnUrgBaylGdU1FxRRJSsclGmeCkWMqVogekDFIQTkOJYrA8z0fCEGSfCsvcNhYwkiZy4UrhRAy6Ac8hEQyHmJvnq/jDBLJASbUy5vrYllHHkgHhniZRlvmLIMGd7oaJafV+hpPw0GKv61oDua59MbcC1IlKOtqrGNliIgoLjCDTHkLn5SZHhsL4KLBUtnIRl0gMs4xYsLThwIthCVYHxFFaQI3pnpNM6YEbnHqQNDzD9wJzvFfWhDYc6iAVHjN9IKhOCHHKsZV+IXPlhWJwnWmNBIX78JyV5KVZKcqAMntDisFJZY7ggz3YdOOJWXTA5tus4IXZV8a0lKTiDx4okvZccoIANi5UFQ0XqiK2w0opKkbTti07CMEWcPNWZ+k370LkGwHhH+Der/F0ONQxVbbbTGMvKvgJcfNo3oyir3+020+1Q0/16c6b+0A7da8EdduzviEqmXIjCShb+wvuYAnqsGphu0RIxycLIGt5jofzOu68Pso0aZBu2ydbtItugB66NTmPxZ74kORFBJ3+t7Wth6dcDooqCHwHEZ4t6hilrPGlo8yhTNglO87Th5opxj/L0eaTod7Bi36Souj4AESupXK0KedrVRg0XKteketmni+ZA0XjouxPzC+r5tOcMo7FjflF9mtIcrWkOzlp97Xn+28Xqv7D/XhhoveCDHChsHJyaHHTEgS5BNjgdI6byxI/Z5wvObvOA6rVjwvidQoLfFZyvvKXsDWPvq6scdKyNrLa62cNnRwF/1I4C/rjvXXw25qPfCdnRhCzsuIZ4t4TM70rIfh9TDBiTDwQjaF/VXZ0Kf+bsWN9p9Jwd98+L56XHYXhxejwaBuN6BA8n9bH6y4F9/xpOad9JiZTB8id36DjeSY/qy6UvuE7rCulicQ+YEWF2eUf+ijg+bvvr9e64gnbudg8oEZIpoiiPTa5sx4yG8whm5oPOl4XWE4J+IaieDuwQIm24lv59+KBwOghncizhSUXpVCa9ugUKzHjCUuDbEPUQSrxJM6kO26HE6Qglfg+hxO0KJRHK5MuKCtl2rdjncSVZ1dq7QfsfZeQXHqQvvURPgZFnyDl6VX4fdYSx0Zm0oF/P1bBvjGqBG9bc3mu+YZ6MaloRlssCvzVaaXJ8KcGdC+9PGeSwKag0SJu0GF5TQUBc+HOrbSbdCxX4kx9TQufIZd6pzNjtIzXWedpLqTFLIVtsxCSnXq77IPfmzVTHjUnQzzFBVM3/cZQ7wPw7jH/3Hw==&lt;/diagram&gt;&lt;/mxfile&gt;"><defs/><g><rect x="200" y="270" width="310" height="180" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-end; justify-content: unsafe flex-start; width: 304px; height: 1px; padding-top: 447px; margin-left: 206px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Site B</div></div></div></foreignObject><text x="206" y="447" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">Site B</text></switch></g><rect x="200" y="0" width="310" height="190" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 304px; height: 1px; padding-top: 7px; margin-left: 206px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Site A</div></div></div></foreignObject><text x="206" y="19" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">Site A</text></switch></g><path d="M 285 80 L 285 109.76" fill="none" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 285 117.76 L 282.33 109.76 L 287.67 109.76 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><path d="M 340 60 L 425 60 L 425 149.76" fill="none" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 425 157.76 L 422.33 149.76 L 427.67 149.76 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><rect x="230" y="40" width="110" height="40" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 60px; margin-left: 285px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;"><b>Keycloak<br /></b></div></div></div></foreignObject><text x="285" y="64" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Keycloak&#xa;</text></switch></g><rect x="230" y="120" width="110" height="40" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 140px; margin-left: 285px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;"><b>Infinispan</b></div></div></div></foreignObject><text x="285" y="144" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Infinispan</text></switch></g><path d="M 140 210 L 140 60 L 219.76 60" fill="none" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 227.76 60 L 219.76 62.67 L 219.76 57.33 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><path d="M 80 230 L 100 230 L 109.76 230" fill="none" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 117.76 230 L 109.76 232.67 L 109.76 227.33 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><rect x="0" y="210" width="80" height="40" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 230px; margin-left: 40px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;"><b>Browser</b></div></div></div></foreignObject><text x="40" y="234" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Browser</text></switch></g><path d="M 285 350.24 L 285 380" fill="none" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 285 342.24 L 287.67 350.24 L 282.33 350.24 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><rect x="230" y="300" width="110" height="40" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 320px; margin-left: 285px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;"><b>Infinispan</b></div></div></div></foreignObject><text x="285" y="324" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Infinispan</text></switch></g><rect x="230" y="380" width="110" height="40" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 400px; margin-left: 285px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;"><b>Keycloak<br /></b></div></div></div></foreignObject><text x="285" y="404" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Keycloak&#xa;</text></switch></g><path d="M 140 250 L 140 400 L 219.76 400" fill="none" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 227.76 400 L 219.76 402.67 L 219.76 397.33 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><path d="M 340 400 L 429 400 L 428.96 310.52" fill="none" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 428.96 302.52 L 431.63 310.51 L 426.3 310.52 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><rect x="160" y="215" width="100" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 230px; margin-left: 210px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">Load Balancer<br /></div></div></div></foreignObject><text x="210" y="234" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Load Balancer&#xa;</text></switch></g><path d="M 285 170.24 L 285 289.76" fill="none" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 285 162.24 L 287.67 170.24 L 282.33 170.24 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><path d="M 285 297.76 L 282.33 289.76 L 287.67 289.76 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)rotate(-90 296 230)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 230px; margin-left: 296px;"><div data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">&lt;&lt;sync&gt;&gt;</div></div></div></foreignObject><text x="296" y="233" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">&lt;&lt;sync&gt;&gt;</text></switch></g><rect x="370" y="160" width="110" height="140" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 230px; margin-left: 425px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;"><b>Synchronously <br />replicated<br />Database</b></div></div></div></foreignObject><text x="425" y="234" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Synchronously...</text></switch></g><path d="M 140 210 L 160 230 L 140 250 L 120 230 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.drawio.com/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>