几秒钟前,我读到“有哪些很酷或有用的服务器/网络技巧?“。
维基百科任播“” 这篇文章非常正式,并没有真正唤起人们对如何使用它的印象。
有人可以用几句非正式的句子解释一下“任播”是什么,如何配置它(只是一般意义上),以及它的好处是什么(它使什么变得更容易)吗?
答案1
任播是一种网络技术,其中相同的 IP 前缀从多个位置进行广播。然后,网络根据路由协议成本以及可能的广播服务器的“健康状况”来决定将用户请求路由到哪个位置。
任播有几个好处。首先,在稳定状态下,任播服务(DNS 就是一个很好的例子)的用户将始终连接到“最近的”(从路由协议角度来看)DNS 服务器。这减少了延迟,并提供了一定程度的负载平衡(假设您的消费者均匀分布在您的网络中)。
另一个优点是配置管理方便。您无需根据服务器/工作站的部署位置(亚洲、美国、欧洲)配置不同的 DNS 服务器,只需在每个位置配置一个 IP 地址即可。
根据任播的实施方式,它还可以提供一定程度的高可用性。如果任播路由的通告取决于某种健康检查(例如,本例中是针对知名域的 DNS 查询),那么一旦服务器发生故障,就可以删除其路由。一旦网络重新收敛,用户请求将无缝转发到下一个最近的 DNS 实例,而无需任何手动干预或重新配置。
最后一个优点是水平扩展;如果您发现一台服务器负载过重,只需在允许其分担部分负载过重服务器请求的位置部署另一台服务器即可。同样,由于不需要客户端配置,因此可以非常快速地完成此操作。
答案2
在理解“任播”时,我经常感到困惑的一件事是,虽然它是一个高级术语,但在实际实施中,它通常归结为两个例子:
路由器使用边界网关协议通过多个广告平台发布同一个 IP 地址块作为路径是将用户引导至“更近”站点的粗略方法。同时,它通过撤回故障站点的路由,提供几乎透明的故障转移至其他站点。这几乎适用于任何协议,尽管它显然会引发许多后端数据同步问题。
从您自己的网络内的多个点发布相同的服务 IP(通过静态路由,开放源协议 (OSPF),增强型内部网关路由协议或其他)。如果路线加权不同地它充当故障转移机制。如果路由加权均匀地它可以利用大多数名牌供应商路由器的按数据包或按流负载平衡功能。您必须小心应用层协议对此很满意,这就是为什么你几乎总是听到它与DNS请求始终是一个数据包,所有内容都是无状态的。我个人认为,这是将应用层问题侵入网络层的一种黑客行为,而 DNS 和适当的负载平衡器的组合几乎总是更好的解决方案。
答案3
主要用于基于 UDP 的服务,例如 DNS。基本上,您从世界各地的多个数据中心宣布相同的路由。这样,您的客户端将根据 BGP 路由发送到“最佳”和“最近”的数据中心。我将“最佳”和“最近”放在引号中,因为网络提供商可以玩游戏并以不同的方式路由来自某些网络的流量。通常,使用任播可以取得最佳效果,但这并不能保证。
例如,将您的 DNS 服务器列为 1.2.3.4 和 1.2.3.5。您的路由器会从多个数据中心宣布一条通往 1.2.3/24 的路由。如果您在日本并且在那里有一个数据中心,那么您很可能会到达那里。如果您在美国,那么您将被发送到您的美国数据中心。同样,它基于 BGP 路由,而不是实际的地理路由,但通常情况就是这样。
答案4
鉴于目前这主要是 DNS...
非正式地说,它允许您使用同一地址在世界各地的多个位置设置相同的服务,从而使您的服务更具弹性,并具有更好的网络访问/延迟/速度。当有人查询该地址时,他们会得到最近/最佳的路线。
从服务器角度来看:
如果单播是针对一个人,多播是针对几个人,广播是针对所有人,那么任播就是精神分裂症,具有多重性格,最适合每个人的性格与他们联系。嗯。不是最好的比喻。