当前位置: 首页 > wzjs >正文

备案信息 网站名临沂建设网

备案信息 网站名,临沂建设网,114黄页企业名录在哪里买,首页4399游戏大全文章目录 一、分布式系统知识1. 单机架构2. 分布式系统3. 数据库分离4. 负载均衡与缓存6. 数据库分库分表6. 微服务架构 二、分布式系统基本概念1. 应用(Application)/ 系统(System)2. 模块(Module)/ 组件&…

文章目录

  • 一、分布式系统知识
    • 1. 单机架构
    • 2. 分布式系统
    • 3. 数据库分离
    • 4. 负载均衡与缓存
    • 6. 数据库分库分表
    • 6. 微服务架构
  • 二、分布式系统基本概念
    • 1. 应用(Application)/ 系统(System)
    • 2. 模块(Module)/ 组件(Component)
    • 3. 分布式(Distributed)
    • 4. 集群(Cluster)
    • 5. 分布式 vs 集群
    • 6. 主从架构(Master/Slave)
    • 7. 中间件(Middleware)

一、分布式系统知识

Redis作为现代应用架构中的重要组件,在正式学习前最好先理解其背后的相关概念。

1. 单机架构

单机架构是最简单的系统部署方式,所有组件(应用、数据库、缓存等)都运行在单一服务器上。在这种架构中:

  • 部署简单,无需考虑网络通信
  • 数据访问快速(本地内存/磁盘)
  • 但存在单点故障风险
  • 性能受限于单台机器资源

Redis最初就是作为单机内存数据库设计的,即使在单机环境下也能显著提升应用性能,通过内存存储避免磁盘I/O瓶颈。

在这里插入图片描述

2. 分布式系统

对于单机架构有一个致命的问题,一台主机的硬件资源是有限的,包括但不限于:CPU、内存、硬盘、网络等,此时我们就需要引入更多的主机(硬件资源),即分布式架构:

分布式系统由多台计算机组成的系统,这些计算机通过网络通信协同工作。Redis在分布式环境中有两种主要形式:

  • Redis集群:官方提供的分布式解决方案,数据分片存储在多个节点
  • 主从复制:读写分离,提高读取性能

比如我们可以将单机架构中的数据库服务,单独分配给一个服务器:

在这里插入图片描述

这样对于存储服务器,需要更大的硬盘与更快的数据访问速度;对于应用服务器,需要配置较高的CPU与内存。就实现了分布式架构/

3. 数据库分离

在实际的应用场景中,一般读的频率是远高于写的频率的,因此我们可以采用数据库读写分离的方式提高整体效率。

在这里插入图片描述

这种情况一般是一主多从,即有一个主服务器,多个从服务器,数据库服务器通过负载均衡的方式让从服务器进行访问,主服务器负责派发任务。

4. 负载均衡与缓存

但尽管引入了数据库读写分离的技术,依然存在一个问题:

  1. 数据库中的数据是存储在硬盘中的,其访问速度是比较慢的。
  2. 如果我们将数据库中的数据放在缓存中,岂不是解决这个问题了?
    • 缓存中的数据访问速度很快,但是其容量很小!!
  3. 在实际的应用场景中,数据库中的数据只有小部分是会被高频访问的,即20%的数据能够支持80%的访问量。
    • 所以只要我们将被高频访问的小部分数据放在缓存中,就能很好的解决这个问题。
  4. Redis充当的就是整个系统中的“缓存”的功能
    在这里插入图片描述

负载均衡将工作负载分配到多个计算资源上。Redis在负载均衡中扮演重要角色:

  • 集中式会话存储(Session Storage)
  • 缓存共享,使多个应用服务器能访问同一缓存池-
  • 配合负载均衡器(如Nginx)实现请求分发

例如,用户请求被负载均衡器分配到任意应用服务器,所有服务器都能从同一Redis实例获取用户会话数据。


6. 数据库分库分表

我们针对数据库进行进一步的拆分,即分库分表。

  • 对于一个数据库服务器,会有多个数据库(database)
  • 我们可以引入多个数据库服务器,每个数据库服务器存储一个或部分数据库。

分库分表是将大数据库/表拆分为小的、更易管理的部分。Redis在这里的作用:

  • 减轻查询压力:缓存复杂查询结果
  • 掩盖分库分表复杂性:应用层通过统一缓存接口访问
  • 提高JOIN操作效率:缓存关联结果
  • 全局ID生成:为分片数据库提供唯一ID

例如,电商平台将订单表按用户ID分片,Redis可以缓存用户最近订单,避免跨分片查询。

在这里插入图片描述


6. 微服务架构

对于之前的应用服务器、一个服务器程序中有很多业务;
可能会导致服务器的代码变得越来越复杂。
为了方便维护代码与系统,可以把一个复杂的服务器,拆分为多个功能单一、体量更小的服务器;即微服务。

微服务将应用拆分为小型、独立的服务。

Redis的轻量级和高性能使其成为微服务架构的理想中间件。

微服务的优势:

在这里插入图片描述


二、分布式系统基本概念

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

定义
为实现特定服务目标而设计的独立程序或一组协同工作的程序集合。

生活类比
类似为完成项目任务而组建的团队(单人或多角色协作)。


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

定义
在复杂系统中,将高内聚、功能明确的逻辑单元抽象为独立实体,以实现职责分离。

生活类比
军队执行任务时划分的职能小组(如突击组、爆破组),各司其职且协同运作。


3. 分布式(Distributed)

定义
系统的不同组件部署于多个物理主机,依赖网络通信实现协作的架构形态。

关键特征

  • 跨主机部署
  • 网络通信依赖

生活类比
跨国企业团队分散在不同地区,通过远程协作完成工作。


4. 集群(Cluster)

定义
多台服务器上部署的同类组件集合,共同提供特定服务能力的逻辑实体。

典型场景

  • 数据库集群(如多MySQL实例)
  • Web服务器集群

生活类比
军队集中炮兵部队形成火力打击单元,针对同一目标协同作战。


5. 分布式 vs 集群

核心区别

维度分布式集群
强调重点物理部署形态逻辑服务目标
组件关系异构组件协作同质组件冗余
通信要求必须跨网络可同主机或跨网络

6. 主从架构(Master/Slave)

定义
集群中通过角色划分实现责任分离的架构模式:

  • 主节点:承担核心操作(如数据写入)
  • 从节点:同步主节点状态并提供衍生服务

典型应用
MySQL主库(写操作)与从库(读操作)。


7. 中间件(Middleware)

定义
为异构系统提供标准化通信能力的桥梁软件,位于应用与底层资源(数据库/网络)之间。

核心价值

  • 解耦系统组件
  • 标准化交互协议

生活类比
餐饮集团中央采购部门统一对接供应商与门店。

http://www.dtcms.com/wzjs/786576.html

相关文章:

  • 做网站包含什么职位长治建设工程交易网
  • 佛山市企业网站建设哪家好关键词优化排名用什么软件比较好
  • 建筑公司网站首页图片注册公司网站地址该如何填
  • 动态效果的网站建设技术wordpress sensica
  • 个人免费网站深圳网站建设推广优化公司
  • 东莞制作网站的联系方式四川省住房和建设厅网站
  • 云建造网站互联网网站如何做流量统计
  • 泰安网站建设如何做英文的小说网站有哪些
  • 关于做网站的总结长沙企业网站
  • 做团餐 承包食堂的企业网站html5快速建站
  • 重庆建设工程信息网官网首页寿光网站建设优化
  • 网页设计与网站建设教学视频网站时间特效
  • 包头住房和城乡建设厅网站网络运营管理
  • 大连做网站孙晓龙秦皇岛城乡建设局和住建局官网
  • 网站做301需要备案吗注册一个公司
  • 做网站网络公司无收入济南定制网站建设
  • 金华网站建设制作免费查企业法人
  • 营销型企业网站建设包括什么wordpress收款生成源码
  • 政务网站建设经验交流发言用插件做网站
  • 做游戏网站年入百万大连网站制作流程
  • 产品毕业设计网站建设怎么查网站是在哪里备案的
  • 网站建设中药尽量使用图片手机网站设计机构
  • 付网站建设费用 会计科目杭州做网站博客
  • 电子商务网站建设设计报告广州软件开发软件公司
  • 网站建设公司销售前景本溪 网站建设 做网站
  • 开发高端网站建设佛山做网站推广的公司
  • 电脑做视频的网站比较好杭州集团公司网站制作
  • 美橙互联网站建设网站怎么做中英文交互
  • 做免费的小说网站可以赚钱吗工程建设概况
  • 做网站 嵌入支付重庆市造价信息网官网