【Redis】初识分布式系统

目录

单机架构

分布式系统

应用数据分离架构

应用服务集群架构

读写分离/主从分离架构

冷热分离架构

垂直分库

微服务架构 

分布式名词概念 


本篇博文,将根据分布式系统的演进一步一步介绍每一种架构的形式,最后为大家总结了一些分布式中常用的名词解释

单机架构

单机架构简单来说就是只有一台服务器,这台服务器完成项目中的所有工作

假设项目是一个电商网站,那么单机架构图如下:

上图中,后端服务主要分为两部分:

  • 应用服务:应用服务就是程序员编写的一些应用程序
  • 数据库服务:数据库服务常见的有MySQL服务
  • 注意:MySQL是一个C/S结构的程序,本体是MySQL服务器(存储和组织数据的部分)

在上图中,数据库服务可以去掉,由应用服务即处理业务,也存储数据。也可以实现但较为麻烦!

在早些年,单机架构有着一系列的性能瓶颈,但随着硬件水平的提高,哪怕只有一台主机,主机的性能也是很高的,基本能满足。

在单机架构中上述服务都由一台服务器提供,单机结构在大多数小公司(服务器请求较少时)当中被采用


分布式系统


分布式系统的引入

尽管我们说现在服务器的性能经过多年的发展,已经非常高了,但它的性能也有瓶颈。

如果一个项目业务进一步增加(请求繁忙,处理不过来),用户量和数据量都水涨船高,高到最后达到了一台主机难以应付时我们应该怎么办呢?

办法分为两种:

  • 开源:这种解决方法简单粗暴,啥不够加啥就好,CPU不够用就换个更牛的CPU,内存不够换个更牛的内存,依次类推
  • 节流:软件优化,这比较考验程序员的能力,程序员需要通过性能测试找到哪个环节的瓶颈,并对此进行一系列优化 

对于节流方式,我们能理解,但当节流方式不可用了,即优化已经到了极致了,还是难以应付大量的业务,我们只能采用开源方法!

但对于一台主机来说,它的硬件资源也是有上限的

硬件资源包括但不限于如下几种:

  • CPU
  • 内存
  • 硬盘
  • 网络

可以看出,一台主机加装的硬件数量受主板的扩展能力限制。你总不可以一台主机装20个CPU吧?

那么如果我们一台主机开源也已经做到极致了,还是无法应付大量的业务,我们应该怎么办呢?

此时我们只能引入多台主机了!当然,不是说一台主机买来了就可以直接解决问题了,而是需要我们在软件上做出对应的调整和适配后才可以!

一旦引入了多台主机,那么我们的系统可以称之为分布式系统


分布式系统正确认识

通过上述的一系列过程,我们会发现一个项目不是一定要设计成分布式系统才是最优的,设计成分布式系统是要根据业务来判断的,这是万不得已的下下策,因为分布式系统会带来弊端

分布式系统的弊端:系统的复杂程度大大提高, 引入越多的主机,那么分布式系统的复杂程度可以说是成指数增长的,也就是出现bug的概率会提高!


分布式系统的分类 

根据演化过程,分布式系统可以分成如下几类:

  • 应用数据分离架构
  • 应用服务集群架构
  • 读写分离/主从分离架构
  • 冷热分离架构
  • 垂直分库 
  • 微服务架构

接下来,本文将根据如上架构进行一一详解 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值