我正在尝试在Go中本地创建一个Pastry版本。从设计[PDF]:假定该应用程序提供了允许每个Pastry节点确定自身具有给定IP地址的节点的“距离”的功能。具有较低距离值的节点被认为是更合乎需要的。期望应用程序根据其对接近度度量的选择,使用诸如traceroute或Internet子网图之类的网络服务,以及适当的缓存和近似技术以最小化开销,来实现此功能。我正在尝试找出以编程方式从Go中确定两个EC2实例之间的“接近度”(即网络延迟)的最佳方法是什么。不幸的是,我对底层网络不够熟悉,无法区分我可以使用的不同类型的请求。Googling并没有提出任何有关测量Go延迟的建议,并且一般的延迟技术似乎总是Linux二进制文件,我希望以此减少依赖性。有什么帮助吗?另外,我注意到两个EC2实例之间的延迟应在1ms的范围内。虽然我计划在EC2上使用该实现,但是假设可以在任何地方使用它。延迟通常是否太差,以至于我应该花更多的精力来确保两个节点的网络接近度?请记住,大多数Pastry请求都可以在群集中服务器数量的日志基础16中得到满足(因此,对于10,000台服务器,平均大约需要3个请求才能找到要搜索的密钥)。从EC2的亚太区域到EC2的美国东部区域的延迟是否足以证明增加节点时延迟检查所带来的复杂性和开销?
1 回答
- 1 回答
- 0 关注
- 173 浏览
添加回答
举报
0/150
提交
取消