Future architecture suggestion

This commit is contained in:
2024-01-08 17:07:20 +01:00
parent b4fd432f9c
commit 3c384205c9
14 changed files with 241 additions and 19 deletions

View File

@@ -0,0 +1,85 @@
\input{lib/preamble.tex}
\usepackage{enumitem}
\setlist{leftmargin=*, itemsep=0.5ex, parsep=0px}
\begin{document}
\begin{tikzpicture}
\node (dev1) at (3,0.5) [component,external] { Gerät 1 };
\node (dev2) at (6,0.5) [component,external] { Gerät 2 };
\node (devX) at (9,0.5) [component,external] { Gerät \dots };
\draw[very thick, rounded corners=6px] (-1.5,2) rectangle (14,9) ++(0, 0.1) node [label, anchor=south east] { \large Heimdall };
\fill[color=scandiored!10] (1.5,2.5) rectangle (10.5,4.5);
\fill[color=black!10] (2,5) rectangle (10,7);
\node (CH1) at (3,3.5) [component] { Connection\\Holder\\ \small Pod 1 };
\node (CH2) at (6,3.5) [component] { Connection\\Holder\\ \small Pod 2 };
\node (CHX) at (9,3.5) [component] { Connection\\Holder\\ \small Pod \dots };
\node (WSM1) at (3,6) [component] { WSM\\ \small Pod 1 };
\node (WSM2) at (6,6) [component] { WSM\\ \small Pod 2 };
\node (WSMX) at (9,6) [component] { WSM\\ \small Pod \dots };
\node (WSM1 port) at (WSM1.30) [port] {};
\node at (WSM1 port) [label, below right=3px] { \scriptsize addr1 };
\node (WSM2 port) at (WSM2.30) [port] {};
\node at (WSM2 port) [label, below right=3px] { \scriptsize addr2 };
\node (FORS) at (8,8) [component, inner sep=12px] { FORS };
\node (Router) at (3,8) [component, inner sep] { Message\\Router };
\node (backend1) at (3, 10) [component,external] { Backend 1 };
\node (backend2) at (6, 10) [component,external] { Backend 2 };
\node (backendX) at (9, 10) [component,external] { Backend \dots };
\node at (1.8, 7) [stickynote, callout absolute pointer=(Router.190), anchor=east] {
\begin{minipage}{2.6cm}
\scriptsize\raggedright
Dieser Service wartet ggf. auf die Beendigung des Requests zum Backend
\end{minipage}
};
\node at (10.5, 8.5) [stickynote, callout absolute pointer=(WSMX.east), anchor=north west] {
\begin{minipage}{2.8cm}
\scriptsize\raggedright
\begin{itemize}
\item Client-Zertifikat: Expiry und Blocklisting
\item Websocket-Upgrade
\item Corporate Handshake
\item Quarantäne
\item Nachrichtenformatierung
\end{itemize}
\end{minipage}
};
\node at (10.8, 5.5) [stickynote, callout absolute pointer=(CHX.350), anchor=north west] {
\begin{minipage}{2.5cm}
\scriptsize\raggedright
\begin{itemize}
\item TCP-Verbindung
\item TLS-Terminierung
\item Validierung von Client-Zertifikaten ohne Expiry-Timestamp
\end{itemize}
\end{minipage}
};
\draw (dev1) edge [<->] (CH1)
(dev2) edge [<->] (CH2)
(devX) edge [<->] (CHX);
\draw (CH1) edge [<->] node [midway] (CH to WSM) {} (WSM1)
(CH2) edge [<->] (WSM2)
(CHX) edge [<->] (WSMX);
\draw (WSM1) edge [->, bend left=10] (Router)
(Router) edge [->, response, bend left=10] (WSM1);
\draw (Router) edge [->, bend left=10] (backend2)
(backend2) edge [->, response, bend left=10] (Router);
\draw (backend2) edge [->, response] (FORS);
\draw (FORS) edge [->, response] (WSM1 port);
\node at (1.4, 6) [stickynote, callout absolute pointer=(CH to WSM.west), anchor=north east] {
\begin{minipage}{2.2cm}
\scriptsize\raggedright
\begin{itemize}
\item TCP-Tunnel
\item vor Eröffnung des Tunnels wird das validierte Zertifikat mitgesendet
\end{itemize}
\end{minipage}
};
\end{tikzpicture}
\end{document}

View File

@@ -91,8 +91,8 @@
</center>
</section>
<section data-background-image="/backgrounds/normal.svg" data-background-position="top right">
<h3>Ideen zur Verbesserung</h3>
<section data-background-color="black">
Wunscharchitektur
</section>
<section data-background-image="/backgrounds/normal.svg" data-background-position="top right">
@@ -141,6 +141,10 @@
</div>
</section>
<section data-background-image="/backgrounds/normal-fewer-hexagons.svg" data-background-position="top right">
<img class="r-stretch" src="/diagrams/future-arch.svg">
</section>
<section class="sc-left-and-right" data-background-color="black">
<div class="sc-left">
<img src="/thankyou.png" style="height: 70%">