初识redis——分布式系统概念

news2024/11/26 23:30:34

概念

Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

最初redis用来作为消息中间件,现在更多用于分布式缓存。与mysql相比,redis的访问速度更快,mysql将变量存储在外存中,而redis存储在内存中,基于网络将自己内存中的变量给别的主机的进程进行使用

分布式系统

单机架构:只有一台服务器负责业务处理和数据存储
在这里插入图片描述

当用户数非常多时,一台服务器既要存储又要和用户交互,性能和内存难以支撑,因此可以将应用服务和数据存储服务分开

分别设立应用服务器和数据库服务器,应用服务器可以配备更好的cpu和内存,而数据库服务器可以配置更大的ssd硬盘
在这里插入图片描述
而当公司规模变大,用户数量进一步激增,便需要引入更多的服务器节点,此时用户的请求先到达负载均衡器/网关服务器,其可以根据应用服务器的访问量自动分配请求,让每个应用服务器的工作量大致相同

当然,所有的用户请求都集中到负载均衡器的身上了,虽然负载均衡器不负责处理请求,但是当请求过多时负载均衡器也会达到极限,因此可以引入多个负载均衡器协同工作
在这里插入图片描述
我们的请求分散到了多个应用服务器上,减少了应用服务器的压力,但是存储服务器也有很大的压力。

可以采用读写分离的方式减轻存储服务器的压力,主存储器负责数据的写入,从存储器同步主存储器中的内容,应用服务器从从存储器中读取数据
在这里插入图片描述
由于数据库的响应速度很慢,我们可以将频繁被访问的数据放到缓存中,用户的请求先发送到缓存服务器中,如果缓存中存在,那么直接返回数据,否则发送到主存储器中。这样也可以减轻数据库的压力,而redis就是负责这个缓存服务器的
在这里插入图片描述
虽然存储服务器的可存储数据可以达到几十个tb,但是现在的视频越来越大,有些时候一个主机存不下那么多数据,因此需要对存储服务器进行分库分表,每个数据库存储器存储部分数据库
在这里插入图片描述
当应用服务器变得更多更复杂时,管理这些服务器就更加困难,此时可以按照公司的业务,可以分为不同的服务器种类,使服务器的功能更加单一,这样的服务器架构称为微服务架构
在这里插入图片描述

常见概念

应用(Application)/ 系统(System)

一个应用就是一个/一组服务器程序

模块(Module)/ 组件(Component)

一个应用中有许多的功能,一个功能就是一个模块

分布式(Distributed)

多个主机/服务器协同处理工作

集群(Cluster)

和分布式一致,但是集群是逻辑上有多个主机,分布式是物理上有多个主机

主(Master)/ 从(Slave)

多个服务器节点中有一个主节点,其他的是从节点,从节点需要同步主节点的数据

中间件(Middleware)

和业务无关的服务,例如数据库,消息队列,缓存等

可用性(Availability)

可用性是系统的第一要务
可用性 = 系统整体可用的时间 / 总时间

响应时长(Response Time RT)

处理一个请求消耗多少时间

吞吐(Throughput)

系统在单位时间内处理请求的数量

并发(Concurrent)

系统同时处理的请求数

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/844473.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java基础入门篇——IDEA开发第一个入门程序(五)

一、IDEA层级结构分类 IntelliJ IDEA的项目结构主要分为以下几个层级: Project: 项目Module: 模块Package: 包Class: 类 一个项目里面可以有多个模块,一个模块里面又可以有多个包,而每个包又可以存放多个类文件。比…

概念解析 | 生成式与判别式模型在低级图像恢复与点云重建中的角力:一场较量与可能性探索

注1:本文系“概念解析”系列之一,致力于简洁清晰地解释、辨析复杂而专业的概念。本次辨析的概念是:生成式模型与判别式模型在低级图像恢复/点云重建任务中的优劣与特性。 生成式与判别式模型在低级图像恢复与点云重建中的角力:一场较量与可能性探索 1. 背景介绍 机器学习…

吐血整理,手机App测试Monkey测试实战总结(最详细)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 Monkey是什么&…

SpringBoot 依赖管理和自动配置---带你了解什么是版本仲裁

😀前言 本篇博文是关于SpringBoot 依赖管理和自动配置,希望能够帮助到您😊 🏠个人主页:晨犀主页 🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您…

EtherCAT转EtherCAT网关西门子为什么不支持ethercat

大家好,今天要和大家分享一款神器——捷米JM-ECAT-ECAT通讯网关!这款网关有什么厉害的呢?且听我慢慢道来。 首先,JM-ECAT-ECAT是一款自主研发的ETHERCAT从站功能的通讯网关。那什么是ETHERCAT呢?简单来说,…

Android, 笔记+课表的app实现

NoteSchedule: 笔记课表,不同于超表和课程格子等笔记类软件,笔记课表的核心是将课表和笔记进行深度绑定,点击每个课表,就进入到笔记view中,点击其中的item就可以进入到笔记详情; 该应用已上线,…

(电脑维修)电脑忘记密码怎么办(未完)

1.准备一个4gU盘,在微PE官网下载一个不高于2.2版本的微PE,并按照顺序制作一个U盘(U盘中的资料记得提前拷贝,后期会被格式化掉)

element-ui 表格el-table的列内容溢出省略显示,鼠标移上显示全部和定制样式

1、在对应列加上省略显示show-overflow-tooltip属性&#xff0c;如果加上这属性&#xff0c;鼠标移上还是没效果&#xff0c;要考滤是不是层级的原因&#xff0c;被其他挡住了。 :deep(.el-tooltip){position: relative;z-index:9; } <el-table-column label"用款渠…

实时时钟DS1302原理详解和单片机编程

一、DS1302的功能 DS1302是美国DALLAS推出的一款高性能、低功耗的日历时钟芯片。 DS1302是一种串行接口的实时时钟&#xff0c;芯片内部具有可编程的日历时钟和31个字节的静态RAM&#xff0c;日历时钟可以自动进行闰年补偿&#xff0c;计时准确&#xff0c;接口简单&#xff…

中文版开源Llama 2同时有了语言、多模态大模型,完全可商用

可以说&#xff0c;AI 初创公司 LinkSoul.Al 的这些开源项目让海外开源大模型在国内的普及和推广速度与国际几乎保持了一致。 7 月 19 日&#xff0c;Meta 终于发布了免费可商用版本 Llama 2&#xff0c;让开源大模型领域的格局发生了巨大变化。 Llama 2 模型系列包含 70 亿、…

04-4_Qt 5.9 C++开发指南_时间日期与定时器

文章目录 1. 时间日期相关的类2. 源码2.1 可视化UI设计2.2 dialog.h2.3 dialog.cpp 1. 时间日期相关的类 时间日期是经常遇到的数据类型&#xff0c;Qt 中时间日期类型的类如下。 QTime:时间数据类型&#xff0c;仅表示时间&#xff0c;如 15:23:13。 QDate:日期数据类型&…

【工具使用】STM32CubeMX-基础定时器配置

一、概述 无论是新手还是大佬&#xff0c;基于STM32单片机的开发&#xff0c;使用STM32CubeMX都是可以极大提升开发效率的&#xff0c;并且其界面化的开发&#xff0c;也大大降低了新手对STM32单片机的开发门槛。     本文主要讲述STM32芯片的定时器的配置及其相关知识。 …

小白到运维工程师自学之路 第六十七集(Harbor企业镜像仓库部署)

一、概述 Harbor 是 VMware 公司开源的企业级 Docker Registry 项目&#xff0c;其目标是帮助用户迅速搭建一个企业级的 Docker Registry 仓库服务。它以Docker公司开源的Registry为基础&#xff0c;提供了管理 UI。基于角色的访问控制(Role Based AccessControl)、AD/LDAP集成…

微信开店小程序怎么做

微信开店小程序是一种在微信平台上运行的在线商店应用&#xff0c;它提供了丰富的功能和便捷的购物体验。下面将介绍微信开店小程序的功能以及带来的好处&#xff1a; 1. 商品展示与销售&#xff1a;微信开店小程序可以展示企业的商品信息&#xff0c;包括图片、价格、详细描述…

安装Win10操作系统时找不到任何驱动器的解决方法

安装Win10操作系统时找不到任何驱动器的解决方法 有时候在一台新电脑上使用U盘安装系统时提示&#xff1a;我们找不到任何驱动器。 如下图所示&#xff1a; 解决方法&#xff1a; 一、按F12&#xff08;不同电脑进入Bios的按键可能不同&#xff09;将电脑进入Bios画面&#x…

软件测试面试,这些坑你别踩,我已经替你踩过了

看看我写的软件测试面试时候的这些坑&#xff0c;你一定不能踩&#xff01;&#xff01;&#xff01; 第一个坑--测试用例编写没有思路&#xff0c;想起一条写一条。 分析&#xff1a; 该题目一般检查候选人编写测试用例的思路、覆盖度、深度。如果想起一条写一条&#xff0…

Linux基础与应用开发系列四:ARM-GCC与交叉编译

三个问题: ARM-GCC是什么?它与GCC有什么关系? 编译工具链和目标程序运行相同的架构平台&#xff0c;就叫本地编译 编译工具链和目标程序运行在不同的架构平台&#xff0c;叫做交叉编译 ARM-GCC是针对arm平台的一款编译器&#xff0c;它是GCC编译工具链的一个分支 虚拟机…

比亚迪与 Stingray达成合作,交互式车载KTV亮相,汽车也能卡拉OK

比亚迪公司与音乐媒体科技公司Stingray达成合作&#xff0c;计划从2023年开始&#xff0c;在全球多个市场推出车载KTV产品&#xff0c;成为新能源汽车的亮点。 根据比亚迪官方公众号发布的消息&#xff0c;比亚迪正在合作开发一款全新的娱乐系统。该系统计划支持多语言&#xf…

ESPFriends之ESP32模型部署训练历险记(一)

开发环境的部署搭建 超级小星星&#xff1a;时间过得可真快ESPFriends创客沙龙已经在武汉举办了两期&#xff0c;在这里有行业内的工程师、高校的学生以及极客&#xff0c;在这里我们交流分享自己的开发心得&#xff0c;提出遇到的“大坑”也可以得到小伙伴们的解决方案&#x…

SAP 请求合并

SAP 请求合并 由于公司请求管理要求比较高&#xff0c;经常需要将很多请求合并在一起传输&#xff0c;实际SAP是支持这个功能的&#xff0c;不仅可以将开发类的请求合并&#xff0c;还可以将开发和定制的合并在一起传输 1、合并请求 SE09 实用程序-重组-合并请求 看提示写的…