Skip to content

开源组件设计思路参考 ​

  • 租约机制
  • leader election
  • 多租户
  • 权限控制 越权访问
  • 构建中台
  • p99 时延
  • 主备、主从 Master 与 Slave
  • namespace
  • WAL 日志
  • fluent 接口设计

阿里云产品 SLB ​

SLB 高可用、可扩展(弹性伸缩)

  • Nginx OpenResty
  • ALB NLB CLB
  • 高可用 自动容灾
  • 健康检查 心跳
  • 流量暴涨 弹性伸缩
  • ALB 强调入口高可用
  • NLB 处理四层 TCP、UDP 流量,吞吐和并发能力更强 大量 TCP 长连接

ALB、NLB、CLB 怎么选

场景更适合
网站、API、HTTPS、域名路由、微服务ALB
TCP、UDP、长连接、高并发网关NLB
老系统已经在用,暂时不迁移CLB
个人项目、开发测试、低流量服务ECS + Nginx

Agent 应用压测不要只看 QPS

普通 API 重点看 QPS。

SSE 场景还要看:

同时在线连接数
平均连接持续时间
首 token 延迟
持续输出延迟
断线重连数量
突发重连风暴
单机文件描述符数量
内存占用

ALB 实例可以有多个可用区 VIP;VPC 是云上的内网园区,VPN 是员工进入园区的加密通道

跨地域容灾

SLB 可用区和地域的区别

跨可用区容灾

时延和GC的关系 ​

Java 的 GC

Go 的 GC

Python 的 GC

C/C++ 和 Rust

JavaScript/TypeScript 和 PHP

CDN 通常有两类用法 ​

用法一:只加速静态资源

用法二:CDN 也代理动态请求。它也可以作为统一入口代理动态流量。

用户
  ↓
www.example.com
  ↓
CDN
  ↓
ALB
  ↓
应用服务