进修Kubernetes,这些负载平衡常识点得知道!
负载平衡 负载平衡是高可用架构的一个要害组件,首要用来进步机能和可用性,通过负载平衡将流量分发到多个处事器,同时多处事器可以或许消除这部门的单点妨碍。 虽然负载平衡器自己就是一个单点妨碍隐患,可以思量文章后头说的负载平衡双机热备或其他方案消除单点妨碍进步可用性。 一个没有行使负载平衡的Web架构一样平常会长得像这样: 没有负载平衡的架构 在这个例子内里,用户直接通过yourdomain.com毗连Web Server,假如这一个Web Server挂了那么整个体系都无法行使,也就是我们常说的体系中的单点妨碍,同样假如大量的用户同时会见这一台处事器,那么这些用户很也许会碰着加载时刻迟钝可能基础无法毗连的题目。 这部门的单点妨碍可以通过引入负载平衡器和至少另一个Web Server来缓解。一样平常来说全部后端处事器会提供沟通的内容,以便用户无论会见哪个处事器城市收到同等的内容。同时因为有多台处事器同时提供处事,也加大了体系的负载手段进步了机能。 负载平衡可以处理赏罚哪些范例的流量 因为一样平常措施员打仗到的负载平衡也许大多都是处理赏罚HTTP、HTTPS流量的,但现实上负载平衡还可以处理赏罚TCP和UDP流量(好比对数据库集群的会见、DNS等)。 负载平衡算法 负载平衡算法用于确定流量应该被分发到哪一个康健的处事器上,常见的几个算法如下: Round Robin — 轮转(Round Robin)意味着处事器会被按次序地选择,好比负载平衡器会将第一个哀求分派给第一个处事器,然后下一个哀求分派给第二个处事器,这样分派下去分派完一轮之后回到开头分派给第一个处事器(操纵体系调治算法温习一下)。这种方法较量得当各处事器处理赏罚手段沟通并且每个营业处理赏罚量差不多的时辰。 Least Connections — 起码毗连(Least Connections)这个算法意味着负载平衡器会选择当前毗连起码的处事器。 IP hash — 在这个算法下,负载平衡器按照哀求源的IP来抉择分发给哪个处事器。这个要领担保了一个特定的用户会一向会见沟通的处事器。 其他尚有一些不算太常见的算法,好比Url hash、Random等。 康健检测(health checks) 在负载平衡算法一节中我们有一个条件,就是流量只会被分派到康健的处事器上,那么负载平衡器怎么去判定处事器此刻是否康健呢? 为了监控康健的处事器,康健搜查一样平常会通过设置的协媾和端话柄验去毗连处事器来担保处事器正在监听。假如一个处事器的康健搜查失败了,也就是说处事器无法正常相应哀求,那么就会被自动的移除池子中,流量也不会被分派到这个坏掉的处事器直到它能通过康健搜查。 这块详细的方法可以参考阿里云关于负载平衡的文档康健搜查道理。 负载平衡如那里理赏罚状态 我们都知道基于session的用户认证会在处事器存有session的一些信息,但当体系引入负载平衡的时辰这样会呈现一些题目。 举个电商网站的例子,当用户U发送的登录哀求被分发到了处事器S1并在处事器中记录了session信息,而当用户想要提交购物哀求的时辰这个哀求被分发到了处事器S2,但处事器S2并没有生涯用户U的session信息。 为了办理这个题目一个是可以行使之前说的IP hash算法,这个算法按照IP来分派流量对应的处事器,以是可以担保统一个用户的流量会会见到统一个处事器。另一个应用层的要领是sticky session,中文应该叫粘性会话,负载平衡器会配置一个cookie然后带有这个cookie的session城市被分派到统一个处事器上。 负载平衡双机热备(Hot standby) 正如开头所说,负载平衡器自己就是一个单点妨碍隐患,个中一个办理方案就是双机热备(进步可用性的一大根基要领就是冗余)。 双机热备方案为了办理负载平衡器的单点妨碍题目,引入了第二个负载平衡器,当主节点GG了之后切换到备用节点。在网上找了个较量形象的gif: 双机热备,实现上可以通过keepalived实现nginx的高可用 关于冷备份、热备份、双机热备更多常识请自行查阅哦 跋文 这篇文章算是对付负载平衡的一个起源总结和一些本身的领略,较量得当但愿对负载平衡有个起源全面相识的人,但因为我小我私人只是个萌新以是许多进阶的对象和一些大厂的实践说明都没加也暂且没手段加,往后假若有打仗再补上吧(坑我先挖了)。 【编辑保举】
点赞 0 (编辑:河北网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |