学习笔记:将我的服务共享给客户(五)七层负载均衡|青训营;

50 阅读1分钟

我们知道了外部站点的IP映射进内部站点的四层负载均衡,我们也可以进入七层负载均衡:一个端口怎样面对外界这么多的访问?

问题背景

提问:四层负载对100.1.2.3只能bind一个80端口,而有多个外部站点需要使用,该如何解决?

换个问法:有一些7层相关的配置需求,该怎么做?

步骤如下:

  1. SSL卸载:业务侧是 http 服务,用户需要用 https 访问请求
  2. 重定向: 浏览器访问 toutiao.com 自动跳转 www.toutiao.com
  3. 路由添加匹配策略: 完全、前缀、正则
  4. Header编辑
  5. 跨域支持
  6. 协议支持: websocket、quic、grpc

问题的解决

Nginx

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器。

简介

  1. 模块化设计,具有较好的扩展性和可靠性
  2. 基于 master/worker 架构设计
  3. 支持热部署:可在线升级
  4. 不停机更新配置文件、更换日志文件、更新服务器二进制
  5. 较低的内存消耗
  6. 事件驱动:异步非阻塞模型,支持 aio,mmap(内存映射)

:占有内存少,并发能力强,并发能力在同类型的网页服务器中表现较好;注重效率,能经受高负载的考验;不仅能做反向代理,实现负载均衡;还能可以作正向代理来进行上网等功能。

优点

  1. 可移植性好:Nginx 可以在大多数 Unix Linux OS 上编译运行,并有 Windows 移植版。
  2. 在连接高并发的情况下,Nginx是Apache服务不错的替代品

具体实现可以点击此处参考。