将我的服务开放给用户(2) | 青训营笔记

130 阅读2分钟

问题背景

  • 在运营商处租用的公网IP,如何在企业内部使用最合理?
  • 怎样尽可能充分的利用和管理有限的公网IP资源?

四层负载均衡:传输层

  • 基于IP+端口,利用某种算法将报文转发给某个后端服务器,实现负载均衡地落到后端服务器上

  • 主要针对TCP、UDP流量的转发

  • 功能

  • 解耦vip和rs

  • NAT

  • 防攻击:syn proxy,避免物理机直接暴露在公网

  • 常见的调度算法原理

  • RR:Round-Robin 将所有的请求平均分配给每个真实服务器RS

  • 加权RR轮询:给每个后端服务器一个权重比例,将请求按照比例分配

  • 最小连接:把新的连接请求分配给当前连接数最小的服务器

  • 五元组hash:根据sip、sport、proto、dip、dport对静态分配的服务器做散列取模

  • 缺点时当某个服务器故障时,需要所有的连接都重新计算,会影响整个hash环

  • 一致性hash:只影响故障服务器上的连接session,其余服务器上的连接不受影响

  • 常见的实现方式

  • FULLNA

问题背景

  • 多个外部站点想使用同一个端口

  • 换个问法:7层相关的配置需要,怎么做

  • SSL卸载

  • 请求重定向

  • 路径添加匹配策略

  • Header编辑

  • 跨域支持

  • 协议支持:websocket、grpc、quic

7层负载均衡:应用层

  • Nginx

  • 模块化设计,较好的扩展性和可靠性

  • 基于master worker架构

  • 支持热部署;可以在线升级

  • 不停机更新配置文件、更换日志文件、更新服务器二进制

  • 较低内存消耗:1万个keep-alive连接模式下的非活动连接仅消耗2.5m内存

  • 事件驱动:异步非阻塞模型,支持aio,mmap(内存映射)

  • 事件驱动模型

疑问:为什么别人的文章这么漂亮,还有背景,我这感觉好简陋,就是一个很原始的富文本编辑器。。。。