java面试题/认证答辩 ---中间件

对中间件的掌握程度:
熟悉:了解ActiveMQ/RabbitMQ/kafka等至少一种消息中间件,redis等nosql,Nginx
掌握:掌握ActiveMQ/RabbitMQ/kafka等至少一种消息中间件,redis等nosql,Nginx
精通:深入理解消息队列、nosql、nginx的原理和模式
综合应用:具备常用中间件的性能调优、复杂问题排查能力,能在项目中熟练使用并指导开发人员

redis 参考: https://blog.csdn.net/xy3233/article/details/112455516
MQ: https://blog.csdn.net/xy3233/article/details/110781271
Nginx: 作为重点中的重点
参考: https://www.runoob.com/w3cnote/nginx-setup-intro.html
https://www.cnblogs.com/struggle-1216/p/13353558.html
java面试题/认证答辩 ---中间件_第1张图片
Nginx启动后,就是在指定的端口号启动了stock监听,
Nginx会有至少两个进程一个master进程和一个及以上的worker进程(可以由用户自己指定)
真正负责处理请求的进程就是你看到的"worker"进程
master 负责管理worker进程 还有读取配置文件

...              #全局块

events {         #events块
   ...
}

http      #http块
{
    ...   #http全局块
    server        #server块
    { 
        ...       #server全局块
        location [PATTERN]   #location块
        {
            ...
        }
        location [PATTERN] 
        {
            ...
        }
    }
    server
    {
      ...
    }
    ...     #http全局块
}
  1. 全局块
 配置影响nginx全局的指令。
 一般有运行nginx服务器的用户组,nginx进程pid存放路径,
 日志存放路径,配置文件引入,允许生成worker process数等。
 (worker_processes 一半配置成 auto 自动适配cpu数量)
  1. events块
配置影响nginx服务器或与用户的网络连接。
有每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,
是否允许同时接受多个网路连接,开启多个网络连接序列化等。
  1. http块
    分为http全局块和server块
http块可以嵌套多个server 配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。

server块

配置虚拟主机的相关参数

location块

配置请求的路由,以及各种页面的处理情况

Nginx 压缩功能
ngx_http_gzip_module
用gzip方法压缩响应数据,节约带宽

https 功能
基于模块ngx_http_ssl_module实现

tcp 模块
可以用来做tcp转发,需要第三方模块nginx_tcp_proxy_module

视频流模块
也可以用来视频流代理 使用 nginx-rtmp-module

你可能感兴趣的:(面试刷题,中间件)