Nginx

1、架构的演进

框架:是一个程序的半成品,对部分功能进行了封装,为解决某个问题,提升开发效率。

架构:服务和服务之间的调用,以及有哪些服务等问题。

1、1:单应用架构

特点:
1、用户较少

​ 2、功能比较单一

​ 3、功能相对简单

​ 4、所有的功能都在一个服务内(都在一个项目中)

在这里插入图片描述

问题:
1、由于就一台服务器,容易发生单点故障

2、当用户增加后,web服务器处理能力降低

3、当用户增加后,数据库服务器的处理能力也会降低

1、2:单应用集群架构

集群:
同一个事情多个人做

同一个程序部署到多台服务器上

特点:
1、解决了单点故障问题

2、提升了多用户请求的处理能力

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uUXSTGr7-1678256690443)(PICS\image-20230308135316050.png)]

缺点:
1、用户请求的分发,不智能,需要自行请求不同的服务器

2、没有提升数据库的处理能力

1、3:基于中间件的单应用集群架构

在这里插入图片描述

特点:

1、采用Nginx代理服务器,能够进行请求的分发

2、采用Redis做数据缓存,提高了数据的获取效率

3、采用ES搜索,提升了搜索数据的效率

缺点:
1、当功能较多、且每个功能较为复杂时,项目的管理就称为一个问题

具体:分层较多,类文件较多,相互调用比较复杂

1、4:垂直架构

在这里插入图片描述

特点:
1、将项目进行拆分,项目的维护较为容易

​ 2、针对不同的项目去部署集群

缺点:
1、拆分后,项目独立,项目之间不能相互调用

1、5:分布式架构

在这里插入图片描述

特点:
1、项目拆分的粒度较小

​ 2、项目之间可以相互协调调用

【微服务】微小到一个项目里只有一个功能

分布式产生的问题:

1、传统事务失效

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Oiqbm8Gj-1678256690443)(PICS\image-20230308141651670.png)]

2、传统锁失效

传统锁,锁的是线程,而在分布式架构中每个服务是一个进程,传统锁不能锁进程。

使用分布式锁

3、服务通讯

服务之间如何调用 使用MQ

4、服务监控问题

注册中心

2、Nginx

Nginx被称为请求代理服务器,不能做任何业务处理,功能如下:

1、请求的分发

2、负载均衡

集群:把同一个服务部署到多台服务器

集群的好处:
1、防止单点故障

2、提供了并发处理请求的能力

负载:对用户请求的处理

均衡:各个服务器比较均衡的去接收、处理用户的请求

在这里插入图片描述
Nginx的特点:

  • 稳定性极强。 7*24小时不间断运行。
  • Nginx提供了非常丰富的配置实例。
  • 占用内存小,并发能力强。

准备:

1、检查jdk是否正确进行了环境变量的配置

3、Nginx实现请求的分发

1 准备服务器集群

伪集群:在同一台机器行,IP相同,只有端口号不同

tomcat 准备3份

修改tomcat的端口号

在这里插入图片描述
2、配置Nginx

解压后的目录结构
在这里插入图片描述
配置服务器:
在这里插入图片描述
启动服务

只要请求Nginx即可

4、负载均衡算法

负载均衡算法,是Nginx把请求分发给集群中哪台服务器的依据。

1、默认采用轮询算法:把请求逐个分发给集群中的每台服务器。

轮询算法的缺点:因为每个请求的处理时间不同,轮询不够合理

2、基于权重的轮询算法:适用于集群中的服务器的硬件配置不同的情况,把配置高的服务器的权重调高

​ 权重越高,被分发到请求的几率就越高
在这里插入图片描述
3、fair智能负载均衡算法

基于响应时间的负载均衡算法,处理请求的时间越短,说明越快,就会被分发请求

4、iphash算法

通过对ip进行计算,得到值,把不同的值分发到指定的服务器

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值