Cloudflare 远不止是 CDN 和 DDoS 保护服务。让我们快速比较 Cloudflare、AWS 和 Azure。
Cloudflare 云能力
Cloudflare 快速扩展超越其传统 CDN 根,推出一系列现代开发者优先服务如 Workers、R2、D1 等。这些产品定位它为严肃的边缘原生替代其他云提供商。
Cloudflare 支持关键云能力
- 边缘计算和 Serverless
- 对象和 Blob 存储
- 关系数据库
- 容器
- 沙盒
- 工作流
- AI Agents SDK
- 向量和 AI 搜索
- 数据连接
- AI 基础设施
- 内容分发网络
- DNS
- 负载均衡
HTTP vs. HTTPS
当你打开网站,HTTP 和 HTTPS 之间区别决定你数据是否安全传输或在_plain sight_。
HTTP
- 以明文发送数据,网络上任何人都可以拦截它
- 客户端和服务器执行简单 TCP 握手:SYN、SYN-ACK、ACK
- 快但完全不安全。密码、令牌和表单都可以在传输中读取
HTTPS(SSL/TLS)
- 步骤 1:TCP 握手:标准连接设置
- 步骤 2:证书检查:客户端说 hello。服务器响应带 hello 和其 SSL/TLS 证书。那个证书包含服务器公钥并由可信证书颁发机构签名。你浏览器验证证书合法、未过期,并实际属于你尝试到达域名。这证明你与真实服务器交谈,不是某些攻击者假装是它
- 步骤 3:密钥交换:这里非对称加密发生。服务器有公钥和私钥。客户端生成会话密钥,用服务器公钥加密它,并发送过去。只有服务器可以用其私钥解密这个。两边现在有相同会话密钥没有其他人可以拦截。这成为对称加密密钥为会话剩余
- 步骤 4:数据传输:现在每个请求和响应用那个会话密钥加密使用对称加密
正向代理 vs. 反向代理
正向代理(Forward Proxy)
正向代理坐在客户端(用户)和互联网之间。它代表用户行动,隐藏他们身份或过滤流量在它到达外部 Web 前。
应用:
- 保护用户当浏览互联网
- 帮助组织限制访问某些网站
- 加速 Web 浏览通过缓存频繁访问内容
反向代理(Reverse Proxy)
反向代理坐在互联网(客户端)和后端服务器之间。它代表服务器行动,处理传入流量。
应用:
- 分布流量跨多个服务器确保没有单个服务器被压倒
- 处理 SSL 加密/解密所以后端服务器不必
- 帮助保护后端服务器从 DDoS 攻击
并发不是并行
在系统设计中,重要理解并发和并行之间区别。
正如 Rob Pyke(Go 语言创造者之一)陈述:“并发是关于处理许多事情一次。并行是关于做许多事情一次。“这个区别强调并发更多关于程序设计,而并行是关于执行。
并发(Concurrency)
- 关于处理多个事情一次
- 涉及构建程序处理多个任务同时
- 任务可以开始、运行和完成在重叠时间段
- 但不一定在同一时刻
- 关于独立执行进程组合
- 描述程序能力管理多个任务通过取得进展在它们上不必完成一个在开始另一个前
并行(Parallelism)
- 指同时执行多个计算
- 是运行两个或更多任务或计算在同一时间技术
- 利用多个处理器或核心在计算机内执行几个操作并发
- 并行需要硬件有多个处理单元
- 它主要目标是增加吞吐量和计算速度系统
实际术语
- 并发使程序保持响应输入、执行后台任务、处理多个操作在看似同时方式,即使在单核处理器
- 它特别有用在 I/O 绑定和高延迟操作程序需要等待外部事件,如文件、网络或用户交互
- 并行,与其能力执行多个操作在同一时间,关键在 CPU 绑定任务计算速度和吞吐是瓶颈
- 应用需要重数学计算、数据分析、图像处理、实时处理可以显著受益于并行执行
虚拟化类型
虚拟化不只使服务器高效,它改变我们构建、扩展和部署一切。这里是四种主要类型虚拟化你在现代系统找到:
传统(裸机)
- 应用直接运行在操作系统
- 没有虚拟化层,进程间没有隔离
- 所有应用共享相同 OS 内核、库和资源
虚拟化(基于 VM)
- 每个 VM 运行自己完整操作系统
- Hypervisor 坐在物理硬件并模拟整个机器为每个 guest OS
- 每个 VM 认为它有专用硬件即使它共享相同物理服务器
容器化
- 容器共享主机操作系统内核但获得隔离运行环境
- 每个容器有自己文件系统,但它们都使用相同底层 OS
- 容器引擎(Docker、containerd、Podman)管理生命周期、网络和隔离没有需要单独操作系统为每个应用
- 轻量和快速。容器启动在毫秒因为你不是启动 OS
- 资源使用显著低于 VMs
容器在 VM 上
- 这是实际运行在生产云环境什么
- 容器在 VM 内,获得好处从两者
- 每个 VM 运行自己 guest OS 有容器引擎在里面
- Hypervisor 提供硬件级隔离在 VMs 之间
- 容器引擎提供轻量应用隔离在 VMs 内
- 这是 Kubernetes 集群在 AWS、Azure 和 GCP 背后架构
- 你 pods 是容器,但它们运行在 VMs 你从不直接看到或管理
本文为学习目的的个人翻译,译文仅供参考。
原文链接:EP190: Cloudflare vs. AWS vs. Azure。
版权归原作者或原刊登方所有。本文为非官方译本;如有不妥,请联系删除。