• 说说你了解的 Nginx


    分析&回答

    nginx性能数据

    • 高并发连接: 官方称单节点支持5万并发连接数,实际生产环境能够承受2-3万并发。
    • 内存消耗少: 在3万并发连接下,开启10个nginx进程仅消耗150M内存 (15M×10=150M)

    1. 正向、反向代理

    所谓“代理”,是指在内网边缘 设置一个硬件/软件转发请求; “正向”还是“反向”的说法,取决于转发的是"出站请求"还是"入站请求".

    • 正向代理: 处理来自客户端的出站请求,将其转发到Internet,然后将生成的响应返回给客户端。 
    • 反向代理: 处理来自Internet的入站请求,将其转发给后端工作程序,然后将响应返回给Internet。

    1. 正向代理和反向代理 在代理的方向上不同,但都会代理处理HTTP请求/响应。
    2. 代理服务器存在的目的:
      • 堡垒机/隔离内网:内网客户端无法访问外网需要设置堡垒机、隐藏内网工作服务器
      • 代理服务器附加功能:对流量执行操作、使用缓存或压缩来提高性能、防御攻击并过滤信息

    2. 负载均衡

    负载均衡一般伴随着反向代理, 起到了分配流量、透明代理、 增强容错的效果

    1. http {
    2. upstream myapp1 {
    3. server srv1.example.com;
    4. server srv2.example.com;
    5. server srv3.example.com;
    6. }
    7. server {
    8. listen 80;
    9. location / {
    10. proxy_pass http://myapp1;
    11. }
    12. }
    13. }
    14. 复制代码

    负载均衡策略

    • round-robin  顾名思义:轮询
    • least-connected :下一个请求将发往最小活动链接的服务器
    • ip-hash:根据客户端的ip地址和哈希函数 决定将请求发往哪个服务器

    3. 动静分离

    动静分离与现在火热的前后端分离概念火热相关,

    前端可以自行开发、测试,自行使用nginx形成静态资源服务器,后端服务仅作为附加资源。

    下面的例子表明 静态资源在/usr/share/nginx/html, 动态资源路径包含api或swagger。

    1. upstream eap_website {
    2. server eapwebsite;
    3. }
    4. server {
    5. listen 80;
    6. location / { # 静态资源
    7. root /usr/share/nginx/html;
    8. index index.html index.htm;
    9. try_files $uri /index.html;
    10. }
    11. location ^~ /api/ { # 动态资源
    12. proxy_pass http://eap_website/api/;
    13. }
    14. location ^~ /swagger/ { # 动态资源
    15. proxy_pass http://eap_website/swagger/;
    16. }
    17. }

    喵呜面试助手:一站式解决面试问题,你可以搜索微信小程序 [喵呜面试助手] 或关注 [喵呜刷题] -> 面试助手 免费刷题。如有好的面试知识或技巧期待您的共享!

  • 相关阅读:
    bilibili杨宙:效能之上,高效交付
    字节跳动 DanceCC 工具链系列之Xcode LLDB耗时监控统计方案
    【1day】H5S视频平台未授权漏洞学习
    Unity数据持久化——XML
    CHS寻址
    (六)vulhub专栏:Apereo-cas 4.x反序列化漏洞
    贪心算法一:最优装载问题
    植被参数光学遥感反演方法(Python)及遥感与生态模型数据同化算法技术应用
    Snipaste安装及使用方法
    JDBC实现数据库批量插入
  • 原文地址:https://blog.csdn.net/jjclove/article/details/127394245