负载均衡架构图解

来源:https://www.zhihu.com/question/61783920/answer/2023377962

先上图:

lvs nginx tomcat cdn,

随业务的部署服务器由一台到多台,传输由一层到多层,架构逐渐复杂,性能逐渐提高,用原文的话:在架构设计中没有什么是加一层解决不了的,如果有那就再加一层,分层使每个模块各司其职,功能解藕,而且方便扩展。 

1、开始只有一台tomcat的业务服务器,为了避免单机性能瓶颈与解决单点故障的隐患,增加业务服务器tomcat。为了均衡的将客户端的请求分配到各个业务服务器,需增加一台分配请求的服务器nginx 作为LB(Load Balance,负载均衡)

2、为提升安全 在nginx 与 tomcat间增加一层路由鉴权层gateway,这样的话所有的流量在打到 server 前都要经过网关这一层,鉴权通过后才把流量转发到 server 中,否则就向 client 返回报错信息,除了鉴权外,网关还起到风控(防止羊毛党),协议转换(比如将 HTTP 转换成 Dubbo),流量控制等功能,以最大程度地保证转发给 server 的流量是安全的,可控的。

3、将静态请求单独分离出去,动静分离。

4、为了避免单点故障 Nginx 也需要部署多台,于是我们的架构变成了下面这样,Nginx 部署两台,以主备的形式存在,备 Nginx 会通过 keepalived 机制(发送心跳包) 来及时感知到主 Nginx 的存活,发现宕机自己就顶上充当主 Nginx 的角色

5、Nginx 是七层(即应用 层)负载均衡,转发的时需要建立tcp连接,耗费资源和性能于是可在nginx之前加一层LVS(四层负载均衡器)我们在 Nginx 上再加了一层 LVS,以让它来承接我们的所有流量,当然为了保证 LVS 的可用性,我们也采用主备的方式部署 LVS,另外采用这种架构如果 Nginx 容量不够我们可以很方便地进行水平扩容。

当然只有一台 LVS 的话在流量很大的情况下也是找不住的,怎么办,多加几台啊,使用 DNS 负载均衡在解析域名的时候随机打到其中一台不就行了

合理添加服务器与架构层级,关键在“合理”两个字上,以上内容部分来源如下:

作者:码海
链接:https://www.zhihu.com/question/61783920/answer/2023377962
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值