Appearance
开源组件设计思路参考
- 租约机制
- 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
↓
应用服务