副本间通信模式图

副本间通信模式图

您能否推荐一种好方法来模拟不同副本(节点、服务器等)之间的通信模式,如下所示。

PBFT 通信模式 (来源:Miguel Castro、Barbara Liskov 等人)实用的拜占庭容错。1999年)

我一直找不到任何有关 TeX 的东西,因此在我求助于外部图像之前,是否有 TeX/TikZ/etc 解决方案?

答案1

下面的代码会生成下图,可以帮助你入门:

在此处输入图片描述

坐标是从左上角的 (0,4) 到右下角的 (5,0) (我已制作 x 比例2以适合您的列标签)。

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows.meta}
\begin{document}

\begin{tikzpicture}[xscale=2]
  \foreach \row [count=\r] in {C,0,1,2,3} {
    \draw[thick](0,5-\r)node[left]{\row} -- ++(5,0);
  }
  \foreach \col [count=\c] in {request,pre-prepare,prepare,commit,reply}{
      \draw[dotted] (\c,5)node[above left, anchor=east]{\col}--++(0,-5);
  }
  \foreach \a/\b/\c/\d in {% arrow from (\a,\b) to (\a+\c,\b+\d)
        0.2/4/0.7/-1,
        1.2/3/0.8/-1,
        1.2/3/0.7/-2,
        1.2/3/0.6/-3
      }{ \draw[blue,-{Stealth}] (\a,\b)--++(\c,\d); }
\end{tikzpicture}

\end{document}

相关内容