Java架构师—Nginx的集群负载均衡

前言

       单体架构;集群概念;Nginx集群负载均衡;upstream指令参数;使用Keepalived提高吞吐量。




一、单体架构

单体架构—前端静态资源、后端API和数据库都放在同一台节点服务器。
单体架构-单节点
单体架构—前端静态资源、后端API和数据库分别放在不同的节点服务器。
单体架构-多节点

1.1 单体架构的优点

  • 小团队成型即可完成开发-测试-上线
  • 迭代周期短,速度快
  • 打包方便,运维省事

1.2 单体架构面临的挑战

  • 单节点宕机造成所有服务不可用
  • 耦合度太高(迭代,测试,部署)
  • 单节点并发能力有限

二、集群概念

  • 计算机‘群体’构成整个系统
  • 整个‘群体’构成一个整体,不能独立存在
  • ‘人多力量大’,群体提升并发与可用性

组装汽车整车
 组装汽车整车
电商平台集群
电商平台集群

2.1 使用集群的优势

  • 提高系统性能
  • 提高系统可用性
  • 可扩展性高

2.2 使用集群的注意点

  • 用户会话
  • 定时任务
  • 内网互通

三、Nginx的集群负载均衡

3.1 单节点与集群

       单节点:
单节点部署
       集群:
集群部署

3.2 OSI 网络模型

       Nginx负载均衡,其实是七层负载均衡;LVS是四层负载均衡。七层和四层是什么概念呢?这就必须提到网络模型。网络模型是计算机网络基础的一部分内容,一般大学计算机系都会讲到此知识点,并且会作为考点。
       网络模型就是 OSI(Open System Interconnect),意思为开放网络互联,是由国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)共同出版的,是一种网络互联模型,也是一种规范。
       网络模型分为七层,也就是当用户发起请求到服务器接收,会历经七道工序,或者说用户利用互联网发送消息给另一个用户,也会历经七道工序。这七层可以分为如下:

层级 名称 说明
第七层 应用层 与用户行为交互
第六层 表示层 定义数据格式以及数据加密
第五层 会话层 创建、管理以及销毁会话
第四层 传输层 创建、管理请求端到响应端(端到端)的连接
第三层 网络层 请求端的IP地址
第二层 数据链路层 提供介质访问与链路管理
第一层 物理层 传输介质,物理媒介

       以上七层每层可以与上下相邻层进行通信。每一层都是非常复杂的,以举例的形式来阐述每一层的作用。

  • 应用层:这是面向用户的,最靠近用户,为了让用户和计算机交互,在计算机里会有很多软件,比如eclipse,idea,qq,nginx等,这些都是应用软件,用户可以通过这些应用软件和计算机交互,交互的过程其实就是接口的调用,应用层为用户提供了交互的接口,以此为用户提供交互服务。在这一层最常见的协议有HTTP,HTTPS,FTP,SMTP,POP3等。Nginx在本层,为七层负载均衡。
    举例:我要寄一封信给远在天边的老外LiLei,我会打开快
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值