【问题标题】:Edge direction in network diagrams网络图中的边方向
【发布时间】:2009-10-08 14:13:55
【问题描述】:

当我使用浏览器 A 与 http-server B 进行通信并与数据库 C 通信时绘制网络图时,我会绘制 A、B 和 C 的节点以及 A 和 B 之间以及 B 和 C 之间的边。然后我想通过添加箭头来具体化流向。我应该把箭头放在哪一边?

alt text http://www.forteresse.net/site/stack-overflow-question/image

变体 2 是直观的,但恕我直言,变体 1 是正确的,因为数据实际上是从 B 流向 A。

我想表明浏览器正在访问http-server以读取网页,例如A正在浏览http://www.xyz.com

那么,有什么参考资料可以帮助我吗?

【问题讨论】:

    标签: networking architecture diagram


    【解决方案1】:

    如果是“用户在做什么”的图表,则用户正在从客户端到服务器。

    如果是“数据去哪儿”的示意图,客户端向服务器传递一个字符串,服务器向客户端返回一个字符串;它可以是双向箭头。

    我可能会选择变体 1。“浏览器正在访问”是一种单向操作。

    【讨论】:

      【解决方案2】:

      当你想表明数据是从(客户端)A发送到(服务器)B时,请绘制从A到B的箭头。当你想表明数据是从(服务器)B发送回(客户端)时A,从 B 到 A 画箭头。数据可以双向流动。

      关于您的 slashdot 引用,当 (Client)A 想要浏览到 Slashdot.org 时,它会向服务器发出请求,因此您将绘制从 (Client)A 到 (Server)Slashdot.org 的箭头.当 Slashdot 收到此请求时,它会向您的客户端发送回响应以在您的浏览器中呈现 Slashdot,因此在这种情况下,您将绘制一个从 Server(Slashdot.org) 到 (Client)A 的箭头。

      这里有一个简单的参考解释:

      http://computer.howstuffworks.com/web-server1.htm

      【讨论】:

      • 然后你会在两边画一个箭头。你不是说从(客户端)A到服务器(B)的箭头是隐式的吗?
      • 您可以同时绘制箭头以显示响应和请求,也可以绘制 2 个单独的图表。这两个箭头实际上都是隐含的,因为您知道在这种情况下双向通信。
      • 好吧,我仍然不相信。由于第一个流(A->B)在这里只是为了得到响应(B->A),所以最重要的流是B->A。
      • 这两个流程都很重要。例如,为了让您真正从 Slashdot.org 获得响应,您的客户端首先需要能够向 slashdot.org 发送请求,并且它需要到达 slashdot.org 服务器。如果您的请求未达到,您将不会收到回复,您很可能会收到请求超时或类似错误。如果您的请求确实到达了 slashdot,那么它有责任将响应发送回您的浏览器以呈现页面。基本上,没有请求,就没有响应。
      • 关于您的图表,我想说第三个选项最能描述流程。客户端A向服务器B发送请求,服务器B向数据库C发送请求,数据库C向服务器B发送响应,服务器B向客户端A发送响应。如果服务器B刚刚向数据库C发送响应以更新数据,不返回任何内容,您可以画一个单向箭头,但根据您对正在发生的事情的描述,我认为您列表中的第 3 个最能描述 A、B 和 C 之间的通信
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多