分布式架构的演变

1.互联网应用与传统应用的区别
2.什么是分布式
3.分布式与集群的关系
4.计算机的发展史
5.分布式架构的发展
6.架构的发展演变过程

1.互联网应用与传统应用的区别

互联网应用高并发,高访问量(tps,qps),海量数据

2.什么是分布式

(1)任务分解

(2)节点通信

3.分布式与集群的关系

电商平台: 用户、 商品、订单、 交易

分布式: 一个业务拆分成多个子系统,部署在不同的服务器上

集群: 同一个业务,部署在多个服务器上

4.计算机的发展史

(1)1946 情人节 第一台计算机

(2)1964 IBM 大型主机 SYSTEM/360 (超强的计算能力,高可靠性)--》带动了软件架构往集中式发展,主流

(3)x86 CPU

(4)RISC CPU 小型机

5.分布式架构的发展

(1)时机成熟

随着互联网,用户,产品的发展

PC性能的不断提升

大型机,小型机很贵,维护麻烦,金融电信才用的起,主机挂了,业务就挂了

(2)企业必须要做

去IOE(IBM小型机,Oracle Rac,EMC存储设备)淘宝2013年提出

替换为(PC机,mysql ,)mysql被oracle收购,其开发人员新开发了MariaDB

(3)单机计算机架构-》分布式架构

该图是冯·诺依曼模型,最初的计算机设计稿,我们可以把分布式理解为一台超级计算机,输入设备对应的是消息、输出设备对应的是用户、存储器对应的是数据库、运算器对应的是我们的应用程序、控制器对应的是我们的负载均衡、

6.架构的发展演变过程

(1)一台服务器

(2)单击负载越来越高,数据库服务器和应用服务器分离

(3)应用服务器做集群

问题:

1.session不同步:cookies,access_token解决

2.前端请求如何转发:apache,nginx

3.流量全部进来之后,数据库层面压力就出现了

升级第4版解决问题

(4)数据库的高性能操作

1.数据库读写分离怎么操作

2.数据库的数据同步

3.数据库路由 mycat

如果是电商平台还需要搜索引擎

1.搜索引擎的索引数据怎么去做同步,实时增量同步? 还是定时全量同步?

(5)解决访问量持续增高,引入缓存机制

用户量是没有上限的

缓存、 限流、 降级

用户持续进来,那么数据库瓶颈越来越明显

(6)数据库的水平/垂直拆分

一张表限制一千万数据

数据库按照不同业务维度拆分

应用按照不同业务维度拆分(此时还不算分布式,此时拆分的是业务模块,模块之间没有交互)

(7)应用拆分,不同模块之间可以进行消息通信

(8)最终

猜你喜欢

转载自blog.csdn.net/CharJay_Lin/article/details/81212783