File: arch-multi-standby.tex

package info (click to toggle)
pg-auto-failover 2.0-2
  • links: PTS
  • area: main
  • in suites: bookworm
  • size: 5,156 kB
  • sloc: ansic: 58,245; python: 5,501; sql: 3,171; makefile: 593; sh: 35
file content (69 lines) | stat: -rw-r--r-- 2,065 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
% Fix for: https://tex.stackexchange.com/a/315027/43228
\RequirePackage{luatex85}
\documentclass[border=10pt,17pt]{standalone}

\usepackage{cfr-lm}
\usepackage{pgf}
\usepackage{tikz}
\usetikzlibrary{arrows,shapes,snakes}
\usetikzlibrary{shapes.multipart}

\begin{document}

%% sans-serif fonts, large by default, and bold too
\sffamily
\sbweight
\bfseries
\large

\begin{tikzpicture}[>=stealth',auto,rounded corners]

  \input{common.tex}

  %% \draw [help lines] (-10,0) grid (10,20);

  \node (flegend) at (8,18) {\textt{number\_sync\_standby = 1}} ;

  \node  (a)   at (0,18)   [primary]
         {\textbf{\normalsize Node A}
           \nodepart{second}
           \textbf{\Large Primary}
           \nodepart[text=stxt]{third}
		   \texttt{replication quorum = true} \\
		   \texttt{candidate priority = 50}
         };

  \node  (b)   at (0,12)  [standby]
         {\textbf{\normalsize Node B}
           \nodepart{second}
           \textbf{\Large Secondary}
           \nodepart{third}
		   \texttt{replication quorum = true} \\
		   \texttt{candidate priority = 50}
         };

  \node  (c)   at (0,6)   [standby]
         {\textbf{\normalsize Node C}
           \nodepart{second}
           \textbf{\Large Secondary}
           \nodepart{third}
		   \texttt{replication quorum = true} \\
		   \texttt{candidate priority = 50}
         };

  \node  (app) at (-8,12)  [app]        {\textbf{\Large Application}};
  \node  (m)   at (8,12)   [monitor]    {\textbf{\Large Monitor}};

  \path (app) edge [sql,out=90,in=180]  node[near start] {SQL} (a.west)
              edge [sqlf] (b)
              edge [sqlf,out=-90,in=180] node[near start,above]  {SQL (fallback)} (c.west)

        (a.south east) edge [sr,out=0,in=35]  node[left,near start]   {Streaming Replication}   (b.north east)
        (a.south east) edge [sr,out=0,in=35] (c.north east)

        (m)   edge [hc,out=90,in=0]  (a.east)
              edge [hc,out=180,in=0] (b.east)
              edge [hc,out=-90,in=0] node[below,near end] {Health checks} (c.east);
\end{tikzpicture}

\end{document}