初步认识了解分布式系统

背景认识:我们要学习redis,还是得了解一下什么是分布式。为什么呢?因为redis只有在分布式系统中才能发挥它最大的作用,也就是领域展开,所以接下来我们就简单过一下什么是分布式系统

一些术语认识:

(1)应用(Application)/系统(System)

一个服务器程序

(2)模块(Module)/组件(Component)

 一个应用中有许多的功能,每一个单独的功能就是一个模块/组件

(3)分布式(Distributed)

引入多个主机/服务器,协同配合完成一系列的工作(物理上的主机)

(4)集群(Cluster)

引入多个主机/服务器,协同配合完成一系列的工作(逻辑物理上的主机,范围更大)

(5)主(Master)/从(Slave)

分布式系统中一种比较典型的结构。多个服务器节点,其中一个为主,其他都是从;从中的数据都需要从主节点同步过来

(6)中间件(Middleware)

中间件是和业务无关的服务,比如数据库、缓存、消息队列

(7)可用性(Availability)

系统整体可用的时间/总的时间,衡量系统的第一标准

(8)响应时长(Response Time RT)

衡量服务器的性能的指标,响应时长越小越好

(9)吞吐(Throughput)vs 并发(Concurrent)

衡量系统的处理请求的能力,衡量性能的一种方式


其实分布式,就是对一个系统引入更多的硬件资源,也是从一台机器逐步演变过来的。下面的七个步骤,也就是一个庞大分布式系统慢慢演变过来的大致步骤。

1.单机架构

(1)介绍

所谓的单机架构,也就是只有一台服务器,这台服务器完成所有的功能,包括应用服务、数数据存储等,大致如下面的图

(2)优点

绝大多数的产品都是此种架构,不需要过多的机器就可以应对大多数的业务场景,因此成本也就更加的低

(3)缺点

如果业务越来越多,用户和数据都逐步提高,那么只有一台服务器就无法满足需求,就只能引入更多的主机进行应付。

因此,下一个等级也就是进行数据库和应用分离。

2.数据库和应用分离

(1)介绍

上述的单机架构只有一台服务器,负责管理应用和数据库。因此到这里,就可以将它们分开进行管理。得出下面的图

(2)优点

进一步提高系统的稳定性和承载能力

(3)缺点

机器进一步增多,成本增加,包括人力成本、时间和金钱成本。

3.引入负载均衡

(1)介绍

当服务器逐步增多后,可以处理业务的服务器也不止一台,因此就需要有一个“leader”进行任务的分发,所以也就引入了负载均衡,负责业务的分配,使得每一台服务器都能平衡的处理业务,不会让一台机器干到冒烟。

(2)优点

不再是一台服务器处理所有的请求,服务器所承担的任务进一下下降;即时某一台服务器挂了,也不会影响全局

(3)缺点

成本更高

4.数据库读写分离

(1)介绍

处理请求的服务器的虽然多了,但是数据库承担的压力还是很大,因此采取读写分离。在日常中,读的次数远远大于写的次数,因此也能进一下降低数据库服务器的压力。

(2)优点

更快

(3)缺点

产生了主从关系,数据更新需要及时同步

5.引入缓存(Redis返回的地方)

(1)介绍

虽然读的次数远大于写,但是有时候只有大部分的数据会被频繁读写,成为热点数据,所以还可以进行拆分。把热点数据放入缓存中,访问数据的速度还能进一步提高。

(2)优点

只需要20%的数据,就能满足80%的访问量

(3)缺点

成本高

6.数据库分库分表

(1)介绍

有时候某个数据库或者数据表存放的数据很庞大,因此还可以将一个库或者表拆分,分别存储到多个机器上。

(2)优点

能存储的数据量更大了

(3)缺点

成本高

7.引入微服务

(1)介绍

所谓微服务,就是将一个业务功能拆分成多个,分发给更多的人去完成。

(2)优点

每个业务的功能更加单一,也解决了人的问题

(3)缺点

成本高


小结:分布式系统,就是尽可能的引入更多的机器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码小娥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值