浅析负载平衡与运用路由器

2021-03-06 09:47 jianzhan

负载平衡和运用路由器将会由同1服务出示,可是它们相互有1些重要的差别和不一样的目地。

因为当代运用程序流程构架高宽比分散化的方式,DevOps和NetOps(互联网运维管理)之间的界线变得模糊不清不清,因而必须掌握负载平衡和运用路由器之间的差别。 它们是不1样的,即便它们将会由同1服务出示。

负载平衡旨在根据水平拓展完成能用性。要拓展运用程序流程,负载平衡器会根据派发恳求到运用程序流程(或服务)的池(服务器群,群集等)。 哪一个池组员对恳求做出回应的决策是根据1种优化算法。 该优化算法针对所挑选的池组员是可以回应還是可以对其管理决策开展“智能化化”,对回应時间,当今负载开展溶解,乃至根据上述全部权重管理决策,将会是非常精确的。 这是现有的最基础的负载平衡方式。 自1996年以来,它1直是能用性(经营规模和常见故障迁移)的基本。

这类负载平衡是大家常常(喜爱的)称为“笨蛋”。 这是由于它基本上一直根据TCP(OSI堆栈的第4层)。 像纯蜂蜜獾1样,它压根不在意运用程序流程(或其协议书)。 全部它担忧的是接受TCP联接恳求并将其与适度池中的在其中1个组员开展配对。 这不1定是合理的,但天啊,它是合理的,它的运行优良。 系统软件早已发展趋势到专业设计方案的手机软件,除负载平衡以外,还能够另外管理方法数百万个联接。 真的很惊讶,假如你彻底了解,早在2000时代初,大多数数系统软件只能解决数千个高并发恳求的次序。

如今,运用路由器则是彻底不一样的。 最先,它规定系统软件关注运用程序流程及其协议书。 这是由于以便路由器运用程序流程恳求,务必最先可以鉴别总体目标。 这个标志能够像“甚么是主机名”1样繁杂,像“JSON目标或XML元素方式的合理內容掩藏的元素的使用价值是是多少”。 最通用性的是运用程序流程标志符 – URI。

运用“路由器”能够根据查验其相对路径并提取一些片断从URI中推导出来来。 这相近于Express中的路由器(时兴的node.js API架构之1)。 方式为:/ user / profile / xxxxx(在其中xxxxx是具体客户名或帐号)的URI相对路径能够拆分并用于将恳求“路由器”到用于负载平衡的特殊池或特定的组员 (运用/服实干例)。 这类状况产生在应用某种对策或编码的负载平衡器的“虚似服务器”构造中。

运用路由器产生在负载平衡决策以前。 具体上,运用程序流程路由器使单独负载平衡器可以在好几个运用程序流程或服务中智能化地派发恳求。 假如您将现有的根据微服务的运用程序流程与API(表明特殊恳求的URI)融合应用,您能够看到这类作用怎样变得有效。 API能够表明为顾客端单独域(api.example.com),但在幕后,具体上由应用运用路由器和负载平衡的组成独立调剂的好几个运用程序流程或服务构成。

掌握运用路由器和负载平衡之间的差别的缘故之1(除我的迂腐特性)是二者不能交换。 路由器决策在哪儿里转发一些內容 – 数据信息包,运用程序流程恳求,和业务流程步骤中的准许。 负载平衡将1些(数据信息包,恳求,准许)分派到1组旨在解决该事情的資源。 你真的不可以(不可该)更换另外一个。 但这也代表着你能够随意地混和和配对这二者之间互相功效的方法。

比如,您可使用简易的旧负载平衡(POLB)开展通道负载平衡,随后应用运用程序流程路由器(第7层)派发恳求(将会在器皿群集内)。 您还能够切换,并应用运用程序流程路由器进到总流量,根据运用程序流程构架中的POLB开展派发。

负载平衡和运用路由器还可以分层,以完成能用性和经营规模层面的实际总体目标。 我更喜爱在通道处应用运用程序流程路由器,由于它能够完成更为多样化和细粒度的完成运维管理和运用程序流程构架更适用当代布署方式。

有关应用POLB和运用路由器的决策在很大水平上取决于运用程序流程构架和规定。 虽然在不一样层面上高效率不1样,但二者都可以以做到拓展性。 这个探讨超过了今日岗位的范畴,但有衡量。

放缩运用程序流程的重要是构架而并不是优化算法。 掌握运用路由器和负载平衡的差别应为设计方案高可拓展构架出示坚实的基本。

(文/原力引入)