• API网关之Nginx作为网关的优势及实战


     基于Nginx的网关的优势:

    1 .速度更快、并发更高

    单次请求或者高并发请求的环境下,Nginx都会比其他Web服务器响应的速度更快。一方面在正常情况下,单次请求会得到更快的响应,另一方面,在高峰期(如有数以万计的并发请求),Nginx比其他Web服务器更快的响应请求。Nginx之所以有这么高的并发处理能力和这么好的性能原因在于Nginx采用了多进程和I/O多路复用(epoll)的底层实现。

    另一个速度快的原因是,它可以使请求链路非常短,Nginx -> 内部服务 比 Nginx -> 微服务网关 -> 内部服务短,可以减少请求转发、建立连接的次数,进而缩短响应时间。当然劣势是难以应对复杂的业务处理逻辑。

    2 .配置简单,扩展性强,可配置负载均衡

    Nginx的设计极具扩展性,它本身就是由很多模块组成,这些模块的使用可以通过配置文件的配置来添加。这些模块有官方提供的也有第三方提供的模块,如果需要完全可以开发服务自己业务特性的定制模块。

    3 .高可靠性

    Nginx采用的是多进程模式运行,其中有一个master主进程和N多个worker进程,worker进程的数量我们可以手动设置,每个worker进程之间都是相互独立提供服务,并且master主进程可以在某一个worker进程出错时,快速去"拉起"新的worker进程提供服务。

    4. 热部署

    现在互联网项目都要求以7*24小时进行服务的提供,针对于这一要求,Nginx也提供了热部署功能,即可以在Nginx不停止的情况下,对Nginx进行文件升级、更新配置和更换日志文件等功能。

    5. 成本低、BSD许可证

    BSD是一个开源的许可证,不用担心带来商务纠纷问题。

     

    Nginx网关实战:

    只需一些简单配置即可实现请求路由、请求标头设置等:

    Nginx负载均衡设置:

    1. 热备:如果你有2台服务器,当一台服务器发生事故时,才启用第二台服务器给提供服务。服务器处理请求的顺序:AAAAAA突然A挂啦,BBBBBBBBBBBBBB.....

    2. 轮询:nginx默认就是轮询其权重都默认为1,服务器处理请求的顺序:ABABABABAB....

     3. 加权轮询:跟据配置的权重的大小而分发给不同服务器不同数量的请求。如果不设置,则默认为1。下面服务器的请求顺序为:ABBABBABBABBABB....

    4. ip_hash: Nginx会让相同的客户端IP请求相同的服务器。

  • 相关阅读:
    SpringBoot-SpringBoot中文文档
    读懂MCU产品选型表
    京东官方平台API接口获得JD商品详情页信息数据采集产品价格、原价、销量、商品属性名等
    面试不面试,你都必须得掌握的vue知识
    mysql 5.7忘记root密码
    算法的时间复杂度和空间复杂度
    Linux 文本操作指令
    干货 | 读懂这篇文,玩游戏还会卡顿?
    【ubuntu】chmod命令
    基于SpringBoot的校园点餐系统
  • 原文地址:https://blog.csdn.net/aHardDreamer/article/details/127951974