-
- 每一个服务封装成独立的模块(使用Docker打包镜像)
- 使用负载均衡技术,当请求增加时,动态实例化容器
-
可用性与一致性
- 一致性——每次访问系统都能获得最新数据但可能会收到错误响应
- 可用性——每次访问都能收到非错响应,但不保证获取到最新数据
- 分区容错性——在任意分发网络故障情况情况下系统仍能继续运行
CP ─ 一致性和分区容错性 等待分区节点的响应可能会导致延时错误。如果你的业务需求需要原子读写,CP 是一个不错的选择。
AP ─ 可用性与分区容错性 响应节点上可用数据的最近版本可能并不是最新的。当分区解析完后,写入(操作)可能需要一些时间来传播。
如果业务需求允许最终一致性,或当有外部故障时要求系统继续运行,AP 是一个不错的选择。
-
内容分发网络(CDN)
内容分发网络(CDN)是一个全球性的代理服务器分布式网络,它从靠近用户的位置提供内容。通常,HTML/CSS/JS,图片和视频等静态内容由 CDN 提供,虽然亚马逊 CloudFront 等也支持动态内容。CDN 的 DNS 解析会告知客户端连接哪台服务器。
将内容存储在 CDN 上可以从两个方面来提供性能:
- 从靠近用户的数据中心提供资源
- 通过 CDN 你的服务器不必真的处理请求
-
负载均衡器的作用
- 防止请求进入不好的服务器
- 防止资源过载
- 帮助消除单一的故障点
-
反向代理
- 数据库 ACID原则
- 原子性 - 每个事务内部所有操作要么全部完成,要么全部不完成。
- 一致性 - 任何事务都使数据库从一个有效的状态转换到另一个有效状态。
- 隔离性 - 并发执行事务的结果与顺序执行事务的结果相同。
- 持久性 - 事务提交后,对系统的影响是永久的。