面试官:关于负载均衡你了解多少

2020-05-25 00:00:00 都是 请求 模块 进程 阻塞

面试官:关于负载均衡你了解多少,知道哪些常用框架?

问题分析:

工作中小编也会经常接触到 Nginx,比如美团的 Oceanus 框架,是一款 HTTP 服务治理框架,这个框架就是基于 Nginx和 ngx_lua 扩展的,主要提供服务注册与发现、动态负载均衡功能,日常的开发学习中,如果你想弄懂公司的 Oceanus ,Nginx 知识肯定是必不可少的,我想这也是我在面试中被问及 Nginx 相关知识的原因。

  1. Nginx,使用多常见的,很多公司自己的负载均衡框架都是基于 Nginx 开发的。
  2. LVS
  3. HAProxy
  4. F5,硬件负载均衡,价格昂贵。

无论使用哪种方案,目的都是要解决同样的问题,掌握其中一个框架的原理后,再看其它几个一定不会觉得吃力,接下来就通过 Nginx 实例来学习。

1.Nginx 简介

Nginx(发音同engine x)是异步框架的网页服器,也可以用作反向代理负载平衡器HTTP缓存。该软件由伊戈爾·賽索耶夫创建并于2004年公开发布。[6] 2011年成立同名公司以提供支持。[7]2019年3月11日,Nginx公司被F5 Networks以6.7億美元收购[8]
Nginx 官网:nginx.org/
下载列表:nginx.org/en/download.h
————维基百科

注意,nginx.org/ 区别于 nginx.com 前者是开源免费的,后者是企业版收费的,商业版支持带外健康检查。

选择 Nginx 的理由

  1. 软件成熟,2002年诞生到2019年,经过多年的沉淀和各大互联网公司的实践改进,Nginx 已经非常成熟,网上教程丰富,易于开发者维护。
  2. 高性能Web服务器,单机能够支持高达 50,000 个并发连接数的响应。
  3. 异步的、非阻塞,使用了epoll和kqueue模型,压缩请求和相应数据大小,节省宽带。
  4. 的反向代理服务器,隐藏 Server 地址,提高安全性。
  5. 支持 Http 缓存

只需要安装 Nginx 配置好配置文件,就可以是实现 Https 访问。

worker_processes 1;
events {
worker_connections 1024;
}

http {
include mime.*;
default_type application/octet-stream;

sendfile on;

keepalive_timeout 65;

server {
    listen 443;
    server_name wangzha.tech www.wangzha.tech;
    ssl on;
    root html;
    index index.html index.htm;
    ssl_certificate   /www/server/nginx/conf/1631800_www.wangzha.tech.pem;
    ssl_certificate_key  /www/server/nginx/conf/1631800_www.wangzha.tech.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    location / {
        proxy_pass          http://47.99.146.163:80;
        proxy_set_header    X-Real-IP $remote_addr;
        proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header    Host $http_host;
    }
}
  server {
      listen 80;
      server_name www.wangzha.tech;   
  }
}

相关文章