关于长亭空间
超值服务提供卓越产品
本文转载自微信公众号「 六脉神剑的程序人生」,作者六脉神剑小六六。转载本文请联系 六脉神剑的程序人生公众号。
文本已收录至我的GitHub仓库,欢迎Star:https://github.com/bin392328206/six-finger
种一棵树的时间是十年前,其次是现在
相信很多小伙伴的公司都是服务治理,自动化运维了吧,那么我们很多东西都变成我们自己去设置了,比如自己创建一个域名,绑定他的代理机器,它的web负载均衡这些东西。所以跟大家一起来看看负载均衡
如果不愿意看文字的话,图也是很清晰的哦
负载均衡是高可用网络基础架构的关键组件,通常用于将工作负载分布到多个服务器来提高网站、应用、数据库或其他服务的性能和可靠性。
大家看下面的图,当我们访问一个网站的时候,如果突然的流量增加,就会导致我们的服务不可用(单点故障)
image.png
一个没有负载均衡的 web 架构类似下面这样:
image.png
所以为了解决单点问题我们需要负载均衡(也是我们高可用,高性能,高并发的基石)
image.png
image.png
image.png
相信很多公司都有用到吧。
image.png
如果你们还没用上容器,那么肯定是用Nginx来做负载均衡的了。
image.png
至于搭建这边就不讲了,大家百度下,肯定是能知道的。
springcloud中提供了一系列的组件,我们使用ribbon实现负载均衡,eureka中也内置了ribbon,所以,引入了eureka其实就可以直接使用ribbon了
ribbon中的负载均衡用在客户端,或者说成消费端也可以,在消费者访问提供者时,就会进行负载均衡算法,然后找到一个的提供者提供服务
image.png
k8S的负载均衡模式还挺多的,这边我就说一个吧Ingress
Ingress 是 k8s 的一种资源对象, 该对象允许外部访问 k8s 服务, 通过创建规则集合来配置访问权限,这些规则定义了哪些入站连接可以访问哪些服务;Ingress 仅支持 HTTP 和 HTTPS 协议;ingress 可配置用于提供外部可访问的服务 url、负载均衡流量、SSL终端和提供虚拟主机名配置。
ingress 的工作流程如下:
image.png
大概的访问路径如下:
用户访问 --> LB --> ingress-nginx-service --> ingressController-ingress-nginx-pod --> ingress字段中调用的后端pod
简单理解四层和七层负载均衡
作为一个互联网工具人,你必须知道整一个用户流量的流转过程,这样你才能对流量的每个环节去掌握,也就是先要把一个东西串起来,然后一个个去拆解里面的细节。