Redis——了解分布式

分布式介绍

单机架构就是提供的所有服务都运行在同一台机器上(应用服务、存储服务等)。而当用户数量变多,服务器同一时刻需要处理的请求也会变多,就可能导致CPU,内存,磁盘,网卡中的某一种或者某几种资源不够用,影响用户体验甚至造成服务直接崩溃。而分布式架构主要就是通过引入更多的硬件资源(服务器)来解决资源不足的问题。

具体来说,分布式可以是将数据库服务和应用服务分别部署在不同的服务器上,再进一步的,除了将数据库服务部署在单独的服务器上,也将应用服务部署在不同的服务器上负载均衡(使用一个另外的服务器做分发器,这个服务器也可叫网关)

但是,分布式并不是一个替代单机架构的更好选择,因为分布式往往会引入更多问题,比如提高系统复杂度,降低响应速度,维护成本更高(出bug的可能更大)。所以分布式其实是因为单机资源有限的无奈之举。

几种分布式技术方案

应用数据分离架构

应用服务和存储服务分离,单机资源压力减小,管理更方便。

应用服务集群架构

把应用服务部署在多个服务器上实现负载均衡,可以让服务处理更多请求,也可以提升服务器的容错率(某个机器挂了之后还可用其他机器处理请求)

主从分离架构

还可以把数据库服务进行负载均衡,主服务器写,多个从服务器负责读(从服务器可以有多个,因为读的频率一般比写高得多)。可以减轻单个存储服务的压力(查询次数太多)。

冷热分离架构

数据库读访问比较慢,再加上网络通信就更慢了。所以可以在数据存储系统中增加一个缓存服务器,它把热点数据(被高频访问的)组织起来存储在内存中,用户读取数据首先从缓存服务器中查找,而内存访问速度比IO快很多。

这个架构有效是因为二八原则:20%的数据可以解决80%的请求,也就是说内存中只要存储20%的数据即可,也不会存不下。

其实这个缓存服务器就是redis常常被用到的位置。

垂直分库

如果数据量太大,一台数据库服务器不够存储下所有的数据那么就会把多个数据库(database)或者数据表分别存储在不同的服务器下,不同的数据库存储服务也可以使用上述的主从分离架构,所以单个数据库或者数据表的服务也形成了存储集群。

业务拆分

**把一个服务按照功能拆分成不同的微服务。分组管理有利于人员配置和模块专精,也便于功能复用。**坏处就是多个功能之间的调用依赖网络通信,会导致性能下降并且系统度上升复杂,维护成本更高。

所以微服务解决的就是一种管理问题,当然他也让单机压力进一步减小


中间件是什么

中间件就是与具体业务无关,功能比较通用的一种服务,比如说数据库服务,缓存服务,以及消息队列等。Redis就可以做这些中间件服务。

相关推荐
不剪发的Tony老师17 小时前
RedisME:一个现代化、轻量级Redis管理工具
数据库·redis
消失的旧时光-194317 小时前
企业认证与安全体系(四):企业登录认证流程全解析——JWT、Redis、Spring Security 如何协同工作?
redis·安全·spring·spring security·jwt
愤怒的苹果ext17 小时前
Spring Boot Redis Stream队列
spring boot·redis·消息队列·stream
MageGojo18 小时前
短链还原 API 怎么接入:展开跳转链路、查看状态码和最终落地页
数据库·redis·缓存
我是一颗柠檬18 小时前
【Redis】字符串与哈希Day3(2026年)
数据库·redis·后端·database
我叫张小白。20 小时前
基于Redis的缓存架构与一致性保障体系
数据库·redis·缓存·架构
我是一颗柠檬20 小时前
【Redis】数据类型详解Day2(2026年)
数据库·redis·后端·缓存
Trouvaille ~20 小时前
【Redis篇】List 列表:双端队列与消息队列的完美实现
数据库·redis·list·双端队列·后端开发·quicklist·zoplist
努力发光的程序员20 小时前
面试官与程序员谢飞机的3轮Java大厂面试问答实录:涵盖Spring Boot、微服务与数据库技术
java·jvm·spring boot·redis·面试·hibernate·microservices
我叫张小白。20 小时前
Redis的缓存雪崩、击穿、穿透和解决方案
数据结构·redis·fastapi·缓存穿透·缓存击穿·雪崩·热点key问题