LAMP服务和LNMP服务对比

LNMP:异步非阻塞

LAMP:同步非阻塞

一、LNMP异步处理和LAMP同步处理

1、异步处理:是客户端浏览器和服务器Nginx之间的访问关系

  1. 处理静态资源,如果要处理动态资源会将请求转交给Apache,此时Nginx相当于客户端,Apache相当于服务器端;
  2. Nginx的响应方式为用户通过浏览器访问Nginx服务器的时候,服务器将index.html文件信息从磁盘调用出来加载到内存中,先将index.html文件转发给用户;
  3. 然后再逐个将用户需求的文件信息从磁盘调用出来加载到内存中一一回复给客户端,通过异步处理的方式响应客户端;
  4. 这种同步处理方式对内存空间的资源利用率非常高;
  5. 所以Nginx的并发能力较强,适合做反向代理,同时较适合处理静态资源较多的请求。

2、同步处理:是客户端浏览器和服务器Apache之间的访问关系

  1. 既能处理静态资源也能处理动态资源;
  2. Apache的响应方式为用户通过浏览器访问Apache服务器的时候,服务器将文件信息从磁盘调用出来加载到内存中;
  3. 将用户的的请求资源通过index.html文件打包一并处理回复给客户端,通过同步处理的方式响应客户端;
  4. 这种同步处理方式对内存空间的资源利用率较低,但是却相对比较稳定;
  5. 所以Apache适合做后台的应用服务器,来处理反向代理需求,适合处理动态资源较多的请求。

二、LNMP非阻塞模式和LAMP阻塞模式

阻塞模式为Nginx或者Apache向MySQL数据库发起数据查询的请求时,相当于客户端,而MySQL数据库就相当于服务器端。

1、非阻塞模式:

  1. 是在LNMP环境中Nginx通过请求MySQL数据库的一种模式;
  2. 在Nginx异步处理客户端的请求时,向MySQL发出数据调用,在MySQL查询数据的等待时间里,Nginx不会占用当前进/线程,而会立即返回;
  3. 等待MySQL查询完成之后,再次连接数据库转发数据给客户端。

2、阻塞模式:

  1. 是在LAMP环境中Apache通过请求MySQL数据库的一种模式;
  2. 在Apache同步处理客户端的请求时,向MySQL发出数据调用,在MySQL查询数据的等待时间里,Apache会一直占用当前进/线程,不会立即返回;
  3. 直到MySQL数据库查询结束之后,才结束当前进程,将数据转发给客户端;
  4. 适用于消息实时同步的场景下。

三、LNMPA环境介绍

1、LNMPA工作原理

  1. 是LNMP环境和LAMP环境并存的一种环境,在这种环境下,LNMP负责做反向代理,LAMP是做WEB服务器的响应和解析的请求;
  2. 两者部署在同一个服务器上,能够处理并发请求,Nginx处理静态资源,Apache处理动态资源,做动静态分离;
  3. 如果部署在多台服务器上,Nginx则只做完全反向代理,通过自身的高并发性能,将用户请求均衡的分配给Apache,而Apache则作为后台的应用服务器做负载均衡,利用自身的稳定特性来处理用户的请求解析。

2、LNMPA环境中的握手协议

  1. 在LNMPA环境中一共存在两次TCP握手协议;
  2. 第一次TCP握手是Client和Nginx反向代理服务器的连接;
  3. 第二次TCP握手是Nginx反向代理服务器请求httpd服务器的连接。
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值