架构核心原理
- 1,架构设计需要考虑的几个方面
高可用,伸缩性,扩展性,安全性
- 2,以多种维度去分析一个高性能服务架构的设计
应用服务,缓存机制,存储服务(存储服务包含基础的数据存储,以及搜索数据存储)。
-
3,无状态的应用服务是我们设计高可用服务的基础。
-
4,幂等性的应用服务设计是解决服务调用 失效,重连,数据一致性的基础
-
5,CAP理论
一般CAP理论是我们在去分析数据高可用的理论基础。无论是传统的数据存储或者是分布式数据存储,都会保证A(可用性),传统数据存储服务强调的是:CA, 分布式数据存储服务强调的是AP -
6,BASE理论
BASE理论是再去设计分布式数据存储(即AP理论)下如何保证C(一致性的理论)的基本原则:即基本可用,软状态,最终一致性 -
7,关系型数据的高可用一般是通过主从备份,双主备份进行实现
-
8,一致性HASH算法来解决缓存服务的伸缩性
-
9,确切的讲:关系型数据库的伸缩性并不强
以主从逻辑,双主逻辑实现的Mysql的高可用架构,实际上它的伸缩性并不强,比如在大规模的数据形成之后,我们需要再加一台主机,实际上需要数据迁移 -
10,ES,Kafka等高可用,伸缩性的设计
-
11,驱动一个服务架构变更的最主要的动力是业务发展
-
…等等
…