在看源码的storage client以及collect Response部分有一些疑问,请大家帮忙解惑一下:
-
这里的requests map中,每个host对应的request是否都不同?如果不同的话,是怎么做区分的呢?如果相同,对每一台host发相同的请求不会导致重复操作吗?
-
当分布式storage集群中每个host都接收到request后,每个host是并行处理req还是串行处理呢?如果是并行,是怎么做到知道要从每一个storage节点中获取哪些数据的呢?比如我要获取从vertex a出发的三跳节点,要知道前两跳的结果才能得到第三跳的结果,那并行处理的话要怎么同时从所有host中抓取需要的数据呢?如果是串行,当host非常多时又要如何保障处理效率呢?
-
在阅读到storage client中的collect response时,又感觉是一个个host顺序串行处理,这里的collect response是不是可以理解为知识collect了当前输入的host的response,而不是目前为止所有host的呢?那么最后所有response的汇总,又是发生在哪里呢?