学习分布式必须知道的历史

计算机的发展历史(为什么要有这个,如果机器无上限,还要分布式干嘛!)

1.第一台电子计算机于1946年2月14日在美国宾夕法尼亚大学诞生。

2.第一台大型主机SYSTEM/360于1964年4月7日由IBM推出,大型主机有着超强的计算能力以及高可靠性。

3.X86 CPU

4.RICS CPU 小型机

注:软件架构往集中式发展,成为当时软件架构的主流。

 

一.什么是分布式?

  1. 由多个小型计算机服务器通过网络连接起来,组成一个大型的计算机服务器。

需要解决两件事情:任务分解,节点通信。

 

分布式系统的意义

1. 升级单机处理能力的性价比越来越低 单机的处理能力主要依靠CPU、内存、磁盘。通过更换硬件 做垂直扩展的方式来提升性能,成本会越来越高。

2. 单机处理能力存在瓶颈 单机处理能力存在瓶颈, CPU、内存都会有自己的性能瓶颈, 也就是说就算你是土豪不惜成本去提升硬件,但是硬件的发 展速度和性能是有限制的。

3. 稳定性和可用性这两个指标很难达到 单机系统存在可用性和稳定性的问题,这两个指标又是我们 必须要去解决的

 

集群

小饭店原来只有一个厨师,切菜洗菜备料炒菜全干。后来客人 多了,厨房一个厨师忙不过来,又请了个厨师,两个厨师都能 炒一样的菜,这两个厨师的关系是集群

 

 

分布式

为了让厨师专心炒菜,把菜做到极致,又请了个配菜师负责切 菜,备菜,备料,厨师和配菜师的关系是分布式,一个配菜师 也忙不过来了,又请了个配菜师,两个配菜师关系是集群

 

节点

节点是指一个可以独立按照分布式协议完成一组逻辑的程序 个体。在具体的项目中,一个节点表示的是一个操作系统上的 进程。

副本机制

副本(replica/copy)指在分布式系统中为数据或服务提供的冗 余。 数据副本指在不同的节点上持久化同一份数据,当出现某一个 节点的数据丢失时,可以从副本上读取到数据。数据副本是分布式系统中解决数据丢失问题的唯一手段。 服务副本表示多个节点提供相同的服务,通过主从关系来实现 服务的高可用方案

 

架构的发展过程

阶段一,单应用架构(这个时候的讲究的是效率 )

 

阶段二,应用服务器和数据库服务器分离 (提高了单机的负载能力,也提高 了容灾能力)

 

阶段三,应用服务器集群-应用服务器负载告警,如何让应用服 务器走向集群

问题:架构发展到这个阶段,各种问题也会慢慢呈现 1. 用户请求由谁来转发到具体的应用服务器 2. 用户如果每次访问到的服务器不一样,那么如何维护 session (负载均衡)

 

阶段四,数据库压力变大,数据库读写分离

这个架构的变化会带来几个问题 1. 主从数据库之间的数据同步 ; 可以使用 mysql 自带的 master-slave方式实现主从复制 2. 对应数据源的选择 ; 采用第三方数据库中间件,例如mycat

 

阶段五,使用搜索引擎缓解读库的压力 (数据库做读库的话,尝尝对模糊查找效率不是特别好,像电商类的 网站,搜索是非常核心的功能,即便是做了读写分离,这个问题也 不能有效解决,使用搜索引擎能够大大提高我们的查询速度,但是同时也会带来一 些附加的问题,比如维护索引的构建。 )

 

阶段六,引入缓存机制缓解数据库的压力 (随着访问量的持续增加,逐渐出现许多用户访问统一部分内容的情 况,对于这些热点数据,没必要每次都从数据库去读取,我们可以 使用缓存技术,比如memcache、redis来作为我们应用层的缓存; 还有访问ip限制)

 

阶段七,数据库的水平/垂直拆分 (,但是随着数 据库的压力持续增加,数据库的瓶颈仍然是个最大的问题。因此我 们可以考虑对数据的垂直拆分和水平拆分 垂直拆分:把数据库中不同业务数据拆分到不同的数据库 。水平拆分:把同一个表中的数据拆分到两个甚至跟多的数据库中, 水平拆分的原因是某些业务数据量已经达到了单个数据库的瓶颈, 这时可以采取讲表拆分到多个数据库中 )

 

阶段八,应用的拆分 (随着业务的发展,业务越来越多,应用的压力越来越大。工程规模 也越来越庞大。这个时候就可以考虑讲应用拆分,按照领域模型讲 我们的用户、商品、交易拆分成多个子系统

拆分之后肯定有重复部分 比如用户

内容摘自课堂笔记

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值