扫盲
NAT
NAT是网络地址转换(Network Address Translation)的缩写,是一种将私有(保留)地址转化为合法IP地址的转换技术。NAT可以解决IPv4地址不足的问题,也可以提高网络安全性和灵活性23。
AWS-VPC
AWS VPC是Amazon Virtual Private Cloud的缩写,是一种在AWS云中创建和管理虚拟网络的服务。您可以在您的VPC中指定IP地址范围、创建子网、添加网关、配置路由表、连接其他网络等。AWS VPC可以提供您的AWS资源与传统数据中心类似的网络环境,同时享受AWS的可扩展性和安全性。
CAP定理(distributed system)
详细可参考https://www.ruanyifeng.com/blog/2018/07/cap.html
分布式系统的最大难点,就是各个节点的状态如何同步。CAP 定理是这方面的基本定理,也是理解分布式系统的起点。
一般来说,分区容错无法避免,因此可以认为 CAP 的 P 总是成立。CAP 定理告诉我们,剩下的 C 和 A 无法同时做到。
1998年,加州大学的计算机科学家 Eric Brewer 提出,分布式系统有三个指标。
- Consistency 一致性
- Availability 可用性
- Partition tolerance 分区容错性
Partition Tolerance
大多数分布式系统都分布在多个子网络。每个子网络就叫做一个区(partition)。分区容错的意思是,区间通信可能失败。比如,一台服务器放在中国,另一台服务器放在美国,这就是两个区,它们之间可能无法通信。
Consistency
一致性,意思是,写操作之后的读操作,必须返回该值。
- user A ==w==> DB
- user B ==r==> DB,总是返回最新写入的值
- user C ==r==> DB,总是返回最新写入的值
Availability
可用性,意思是只要收到用户的请求,服务器就必须给出回应。