1. 前言
在谈谈redis的哨兵机制这篇文中,我们知道Redis是使用哨兵机制来监控各个节点之间的状态。但是,在分布式的环境下,哨兵机制就不能很好地监控各个节点之前的状态。为了解决这个问题,Redis在3.0的版本推出了Redis Cluster,即redis集群。本篇就谈谈redis集群,主要介绍常用的几种Redis集群方案。
2. Redis集群方案
Redis Cluster集群模式通常具有高可用、可扩展性、分布式、容错等特性。Redis分布式方案一般有三种:客户端分区方案、代理分区方案、查询路由方案。
2.1 客户端分区方案
这种方案顾名思义,客户端就已经决定数据会被存储到哪个redis节点或者从哪个redis节点读取数据。其主要思想是采用哈希算法将Redis数据的key进行散列,通过hash函数,特定的key会映射到特定的Redis节点上。通过一个简单的示例图描述下这种方案,如下所示:
客户端分区方案的代表为Redis-Sharding,Redis-Sharding是Redis Cluster出来之前,业界普遍使用的Redis多实例集群方法。Java的Redis客户端驱动库Jedis,支持Redis-Sharding功能,即ShardedJedis以及结合缓存池的ShardedJedisPool。客户端分区方案有其自身的优点及缺点,如下表所示:
优点 | 不使用第三方中间件,分区逻辑可控,配置简单,节点之间无关联,容易线性扩展,灵活性强。 |
缺点 | 客户端无法动态增删服务节点,客户端需要自行维护分发逻辑,客户端之间无连接共享,会造成连接浪费。 |
2.2 代理分区方案
这种方案具体的做法是这样:客户端发送请求到一个代理组件(Proxy),代理解析客户端的数据,并将请求转发至正确的节点,最后将结果回复给客户端。如下图所示:
这种方案的优缺点如下表所示:
优点 | 简化客户端的分布式逻辑,客户端透明接入,切换成本低,代理的转发和存储分离。 |
缺点 | 多了一层代理层,加重了架构部署复杂度和性能损耗。 |
代理分区主流实现的有方案有Twemproxy和Codis。下面分别简单介绍下这两种方案:
2.2.1 Twemproxy
Twemproxy也叫nutcraker,是twitter开源的一个redis和memcache的中间代理服务器程序。Twemproxy作为代理,可接受来自多个程序的访问,按照路由规则,转发给后台的各个Redis服务器,再原路返回。Twemproxy存在单点故障问题,需要结合Lvs和Keepalived做高可用方案。
如下图所示:
客观地分析下Twemproxy这种方案,优势和不足如下表所示:
优点 | 应用范围广,稳定性较高,中间代理层高可用。 |
缺点 | 无法平滑地水平扩容/缩容,无可视化管理界面,运维不友好,出现故障,不能自动转移。 |
2.2.2 Codis
Codis是一个分布式Redis解决方案,对于上层应用来说,连接Codis-Proxy和直接连接原生的Redis-Server没有的区别。Codis底层会处理请求的转发,不停机的进行数据迁移等工作。Codis采用了无状态的代理层,对于客户端来说,一切都是透明的。虽然文字描述Codis不那么复杂,但其实具体的实现还是蛮复杂的,如下图所示:
这种方案的优势和劣势,如下表所示:
优点 | 实现了上层Proxy和底层Redis的高可用,数据分片和自动平衡,提供命令行接口和RESTful API,提供监控和管理界面,可以动态添加和删除Redis节点。 |
缺点 | 部署架构和配置复杂,不支持跨机房和多租户,不支持鉴权管理。 |
2.3 查询路由方案
这种方案怎么理解呢?简单地说,客户端随机地请求任意一个Redis实例,然后由Redis将请求转发给正确的Redis节点。Redis Cluster实现了一种混合形式的查询路由,但并不是直接将请求从一个Redis节点转发到另一个Redis节点,而是在客户端的帮助下直接重定向(redirected)到正确的Redis节点。具体方案如下图所示:
这种方案的优缺点,如下表所示:
优点 | 无中心节点,数据按照槽存储分布在多个Redis实例上,可以平滑的进行节点扩容/缩容,支持高可用和自动故障转移,运维成本低。 |
缺点 | 严重依赖Redis-trib工具,缺乏监控管理,需要依赖Smart Client(维护连接,缓存路由表,MultiOp 和 Pipeline 支持)。Failover节点的检测过慢,不如中心节点ZooKeeper及时。Gossip消息具有一定开销。无法根据统计区分冷热数据。 |
3. 总结
上面三种关于Redis集群的方案,都是小弟平时在学习和积累的时候总结的。如果有小伙伴有更多的关于Redis集群的方案,烦请告知。
相关推荐
20220125_6651807_99-整本手册_1535509_30005_0.pdf
基于STM32的数控线性稳压电源与恒压恒流电源资料.pdf
基于STM32的智能台灯:自动调整光照强度并语音播报.pdf
1、文件说明: Centos8操作系统urw-base35-nimbus-mono-ps-fonts-20170801-10.el8.rpm以及相关依赖,全打包为一个tar.gz压缩包 2、安装指令: #Step1、解压 tar -zxvf urw-base35-nimbus-mono-ps-fonts-20170801-10.el8.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm
sql server2022安装教程 SQL Server 2022的安装过程相较于之前的版本有所改进,但基本步骤大体相似。以下是一个通用的SQL Server 2022安装教程指南: ### 准备工作 1. **系统要求**:确保您的计算机满足SQL Server 2022的最低系统要求,包括操作系统版本、处理器、内存(RAM)、硬盘空间等。 2. **下载SQL Server 2022安装文件**:从微软官方网站下载SQL Server 2022的安装介质。您可能需要登录您的Microsoft账户,并且根据您的需求选择正确的版本(开发版、标准版或企业版)。 ### 安装步骤 #### 1. 启动安装程序 - 双击下载的安装文件(通常是一个`.exe`文件),启动SQL Server 2022的安装向导。 #### 2. 安装规则检查 - 安装程序会自动检查您的系统是否符合安装SQL Server的要求。如果有任何问题,解决它们后再继续。 #### 3. 选择安装类型 - 在“产品”选项中,选择您想要安装的SQL Server组件。对于大多数用户来说,“数据库引擎服务”是
智慧园区解决方案摘要 在当今这个信息化、智能化浪潮席卷全球的时代,传统园区正面临着前所未有的转型挑战与机遇。智慧园区,作为未来城市发展的重要组成部分,正以其独特的魅力吸引着越来越多的关注。本文将带您领略智慧园区的精髓,探索其如何通过创新技术实现全面升级,为园区管理者、企业及居民带来前所未有的便捷与高效。 一、智慧园区:从挑战到机遇的华丽转身 传统园区在信息基础设施、数据互通、应用创新等方面存在诸多痛点。老旧的网络系统、独立运行的应用子系统,如同一个个信息孤岛,难以形成合力,导致管理效率低下,用户体验不佳。然而,随着云计算、大数据、人工智能等新一代信息技术的飞速发展,智慧园区应运而生。它不仅仅是对传统园区的简单升级,更是一场深刻的变革。通过构建完善的信息基础设施,实现数据的全面感知、传输、处理与分析,智慧园区能够打破信息孤岛,促进资源的高效整合与共享。这不仅极大地提升了园区的运营效率和管理水平,更为园区的可持续发展奠定了坚实的基础。 在智慧园区中,数据中心平台和IOC运营平台扮演着举足轻重的角色。数据中心平台如同园区的“数据心脏”,负责收集、存储、处理园区内各类数据,为决策提供有力支持。而IOC运营平台则是园区的“智慧大脑”,通过对数据的深度挖掘与分析,实现对园区人、物、事件、能耗、环境等关键要素的实时监测与预警。这种全局性的掌控能力,使得园区管理者能够迅速响应各种突发情况,制定更加科学合理的决策。 二、智慧服务:让园区生活更加便捷高效 智慧园区的魅力不仅体现在其强大的数据处理能力上,更在于它能够为园区内的企业、居民提供全方位、个性化的智慧服务。在信息化服务方面,智慧园区通过智慧招商、物业管理、企业画像等功能,为企业提供了更加便捷、高效的入驻与发展环境。智慧招商系统利用大数据分析技术,帮助企业精准定位目标客户,提高招商转化率;物业管理平台则通过集成化的服务流程,实现了对园区内各类设施的智能化管理,提升了物业服务的品质与效率。 与此同时,智能物联体系的应用更是为园区生活带来了翻天覆地的变化。从智慧资产的全生命周期管理,到智慧楼宇的智能化控制;从智慧安防的主动防范与应急联动,到智慧消防的实时监测与预警,智能物联体系将园区内的各类设施紧密连接在一起,形成了一个有机的整体。这种高度集成的智能化管理模式,不仅提升了园区的安全性与运营效率,更为居民带来了更加舒适、便捷的生活体验。 在生活服务体系方面,智慧园区同样不遗余力。智慧餐饮、智慧休闲等创新应用的推出,让园区内的餐饮、购物、娱乐等生活配套服务变得更加智能化、个性化。通过智能餐具、无人便利店、共享睡眠仓等智能设备的应用,居民可以享受到更加便捷、高效的生活服务。这种集智能化、人性化于一体的生活服务体系,让智慧园区成为了真正意义上的“智慧城市”缩影。 三、未来展望:智慧园区引领城市发展新风尚 随着技术的不断进步和应用场景的不断拓展,智慧园区正朝着更加智能化、人性化、绿色化的方向发展。未来,智慧园区将更加注重数据的深度挖掘与价值创造,通过大数据分析、人工智能等技术手段,为园区内的企业提供更加精准、高效的服务。同时,智慧园区还将加强与城市其他领域的深度融合,如智慧交通、智慧环保等,共同推动城市的智慧化进程。 此外,智慧园区还将更加注重用户体验与参与感。通过构建开放、共享的智慧化服务平台,鼓励居民、企业等各方力量积极参与到园区的智慧化建设中来。这种全民参与、共建共享的智慧化建设模式,不仅将进一步提升园区的智慧化水平,更将激发城市的创新活力与发展潜力。 总之,智慧园区作为未来城市发展的重要方向之一,正以其独特的魅力和无限的潜力吸引着越来越多的关注。我们有理由相信,在不久的将来,智慧园区将成为城市发展的新风尚,引领我们迈向更加智能化、人性化的美好未来。
系统采用B/S架构,集成Spring Boot(后端)、Vue.js(前端)和MySQL(数据库),通过RESTful API实现前后端分离。采用MyBatis-Plus优化数据访问,模块化设计与自动配置提升开发效率,结合数据库索引和读写分离确保性能,Element UI提供友好交互,整体具备高扩展性和可维护性。
少时诵诗书所所所所大幅度发十大
基于STM32的智能流速流量监测与水泵报警系统(含阈值设置、LCD1602显示、超阈值报警及Proteus仿真).pdf
内容概要:本文介绍了 TenAsys 公司开发的 INtime RTOS 特性、应用和灵活部署选项。作为一款硬实时操作系统,INtime 支持多处理器平台和时间敏感网络 (TSN),具备微秒级的事件响应时间和广泛的硬件支持。文章详细阐述了 INtime 如何独立运行或与 Windows 操作系统共存,展示了其高度确定性和可靠性。此外,还讨论了 INtime 在多核处理环境中的非对称多处理架构以及分布式应用的实现方式,强调了其在网络通信、I/O 接口分区、虚拟化等方面的优势特性。INtime 提供强大的 SDK 工具,便于开发者进行高效的嵌入式系统编程。文中列举了几种典型应用场景,并提及了不同类型的 INtime 许可授权和服务支持情况。 适用人群:从事嵌入式系统开发的技术人员、项目经理、IT咨询师和科研人员。 使用场景及目标:适用于需要高实时性、稳定性和安全性的工业自动化、通信网络、医疗仪器等领域项目。目标是为企业提供一种高效能、稳定的实时操作系统解决方案,帮助企业更好地应对嵌入式系统的多样化需求和技术挑战。 其他说明:该文档还包含了有关 INtime 最小硬件需求、操作系统版本要求以
1、文件说明: Centos8操作系统uwsgi-plugin-cache-2.0.27-4.el8.rpm以及相关依赖,全打包为一个tar.gz压缩包 2、安装指令: #Step1、解压 tar -zxvf uwsgi-plugin-cache-2.0.27-4.el8.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm
智慧园区解决方案摘要 在当今这个信息化、智能化浪潮席卷全球的时代,传统园区正面临着前所未有的转型挑战与机遇。智慧园区,作为未来城市发展的重要组成部分,正以其独特的魅力吸引着越来越多的关注。本文将带您领略智慧园区的精髓,探索其如何通过创新技术实现全面升级,为园区管理者、企业及居民带来前所未有的便捷与高效。 一、智慧园区:从挑战到机遇的华丽转身 传统园区在信息基础设施、数据互通、应用创新等方面存在诸多痛点。老旧的网络系统、独立运行的应用子系统,如同一个个信息孤岛,难以形成合力,导致管理效率低下,用户体验不佳。然而,随着云计算、大数据、人工智能等新一代信息技术的飞速发展,智慧园区应运而生。它不仅仅是对传统园区的简单升级,更是一场深刻的变革。通过构建完善的信息基础设施,实现数据的全面感知、传输、处理与分析,智慧园区能够打破信息孤岛,促进资源的高效整合与共享。这不仅极大地提升了园区的运营效率和管理水平,更为园区的可持续发展奠定了坚实的基础。 在智慧园区中,数据中心平台和IOC运营平台扮演着举足轻重的角色。数据中心平台如同园区的“数据心脏”,负责收集、存储、处理园区内各类数据,为决策提供有力支持。而IOC运营平台则是园区的“智慧大脑”,通过对数据的深度挖掘与分析,实现对园区人、物、事件、能耗、环境等关键要素的实时监测与预警。这种全局性的掌控能力,使得园区管理者能够迅速响应各种突发情况,制定更加科学合理的决策。 二、智慧服务:让园区生活更加便捷高效 智慧园区的魅力不仅体现在其强大的数据处理能力上,更在于它能够为园区内的企业、居民提供全方位、个性化的智慧服务。在信息化服务方面,智慧园区通过智慧招商、物业管理、企业画像等功能,为企业提供了更加便捷、高效的入驻与发展环境。智慧招商系统利用大数据分析技术,帮助企业精准定位目标客户,提高招商转化率;物业管理平台则通过集成化的服务流程,实现了对园区内各类设施的智能化管理,提升了物业服务的品质与效率。 与此同时,智能物联体系的应用更是为园区生活带来了翻天覆地的变化。从智慧资产的全生命周期管理,到智慧楼宇的智能化控制;从智慧安防的主动防范与应急联动,到智慧消防的实时监测与预警,智能物联体系将园区内的各类设施紧密连接在一起,形成了一个有机的整体。这种高度集成的智能化管理模式,不仅提升了园区的安全性与运营效率,更为居民带来了更加舒适、便捷的生活体验。 在生活服务体系方面,智慧园区同样不遗余力。智慧餐饮、智慧休闲等创新应用的推出,让园区内的餐饮、购物、娱乐等生活配套服务变得更加智能化、个性化。通过智能餐具、无人便利店、共享睡眠仓等智能设备的应用,居民可以享受到更加便捷、高效的生活服务。这种集智能化、人性化于一体的生活服务体系,让智慧园区成为了真正意义上的“智慧城市”缩影。 三、未来展望:智慧园区引领城市发展新风尚 随着技术的不断进步和应用场景的不断拓展,智慧园区正朝着更加智能化、人性化、绿色化的方向发展。未来,智慧园区将更加注重数据的深度挖掘与价值创造,通过大数据分析、人工智能等技术手段,为园区内的企业提供更加精准、高效的服务。同时,智慧园区还将加强与城市其他领域的深度融合,如智慧交通、智慧环保等,共同推动城市的智慧化进程。 此外,智慧园区还将更加注重用户体验与参与感。通过构建开放、共享的智慧化服务平台,鼓励居民、企业等各方力量积极参与到园区的智慧化建设中来。这种全民参与、共建共享的智慧化建设模式,不仅将进一步提升园区的智慧化水平,更将激发城市的创新活力与发展潜力。 总之,智慧园区作为未来城市发展的重要方向之一,正以其独特的魅力和无限的潜力吸引着越来越多的关注。我们有理由相信,在不久的将来,智慧园区将成为城市发展的新风尚,引领我们迈向更加智能化、人性化的美好未来。
一个小游戏,所需知识仅有Java基础和GUI
该资源为numpy-2.2.0-cp313-cp313t-musllinux_1_2_x86_64.whl,欢迎下载使用哦!
Vmamba selective_scan 在Windows下生成的selective_scan_cuda_oflex库,兼容算力低于7.0高于5.0的老旧GPU,同时支持7.0-9.0 等目前常见GPU; 安装博客参考:https://blog.csdn.net/yyywxk/article/details/145018635
1、文件说明: Centos8操作系统usbguard-tools-1.0.0-2.el8.rpm以及相关依赖,全打包为一个tar.gz压缩包 2、安装指令: #Step1、解压 tar -zxvf usbguard-tools-1.0.0-2.el8.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm
移动应用开发期末作业鸿蒙开发-校园迎新APP项目源码+报告(期末大作业),个人大三期末大作业项目、经导师指导并认可通过的高分设计项目,评审分99分,代码完整确保可以运行,小白也可以亲自搞定,主要针对计算机相关专业的正在做大作业的学生和需要项目实战练习的学习者,可作为课程设计、期末大作业。 移动应用开发期末作业鸿蒙开发-校园迎新APP项目源码+报告(期末大作业)移动应用开发期末作业鸿蒙开发-校园迎新APP项目源码+报告(期末大作业)移动应用开发期末作业鸿蒙开发-校园迎新APP项目源码+报告(期末大作业)移动应用开发期末作业鸿蒙开发-校园迎新APP项目源码+报告(期末大作业)移动应用开发期末作业鸿蒙开发-校园迎新APP项目源码+报告(期末大作业)移动应用开发期末作业鸿蒙开发-校园迎新APP项目源码+报告(期末大作业)移动应用开发期末作业鸿蒙开发-校园迎新APP项目源码+报告(期末大作业)移动应用开发期末作业鸿蒙开发-校园迎新APP项目源码+报告(期末大作业)移动应用开发期末作业鸿蒙开发-校园迎新APP项目源码+报告(期末大作业)移动应用开发期末作业鸿蒙开发-校园迎新APP项目源码+报告。
装机之RH2288HV3 2008win sever
详解DeepSeek核心技术2025.pdf
基于STM32的温湿度、烟雾浓度、振动频率仿真系统:包含源码、仿真、原理图.pdf