redis-sentinel

Redis 实战 —— 13. 扩展 Redis

|▌冷眼眸甩不掉的悲伤 提交于 2021-02-02 23:58:23
简介 当数据量增大或者读写请求增多后,一台 Redis 服务器可能没办法再存储所有数据或者处理所有读写请求,那么就需要对 Redis 进行扩展,保证 Redis 在能存储所有数据对情况下,同时能正常处理读写请求。 P227 扩展读性能 P227 提高性能的几个途径 P228 使用短结构:确保压缩列表的最大长度不会太大 根据查询类型选择结构 不要把列表当作集合使用 不要获取整个散列,然后再客户端里面进行排序,而应使用有序集合 大体积对象存储前进行压缩:减少读写所需的网络带宽。对比 lz4, gzip 和 bzip2 等压缩算法,选择对存储数据压缩效果和性能最好对压缩算法 流水线和连接池: 复制、处理故障、事务及性能优化 中介绍过流水线 扩展读性能最简单的方法就是添加只读服务器( 复制、处理故障、事务及性能优化 中介绍过通过复制 (replication) 让一个 Redis 服务器成为从服务器及运作原理和管理方法),并只对主服务器进行写入(默认情况下,尝试对一个从服务器进行写入将引发一个错误,即使它是其他从服务器的主服务器)。 P228 添加从服务器 P228 在配置文件中加上: slaveof <master-host> <master-port> 向正在运行对 Redis 服务器发送: SLAVEOF <master-host> <master-port> 可以通向从服务器发送

ASP.NET Core分布式缓存Redis主从Sentinel哨兵模式实战演练

浪尽此生 提交于 2021-02-02 13:22:57
一、课程介绍 Redis是被广泛使用的基础软件之一。对于工程师和,架构师,运维人员来说,了解Redis的高可用方案和背后的原理,是必备的基础知识。 “高可用性”(High Availability)通常来描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性。 Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案之一,当用Redis做Master-Slave(主从复制)的高可用方案时,假如master宕机了,它能监控多个master-slave集群,发现master宕机后能进行自动切换。Redis主从切换技术的方法是:当主服务器宕机后,需要手动把一台从服务器切换为主服务器,这就需要人工干预,费事费力,还会造成一段时间内服务不可用。这不是一种推荐的方式,更多时候,我们优先考虑哨兵模式。 1.1、本次分享课程包含知识点如下: ★Redis的三种集群解决方案对比。 ★Redis哨兵模式概述。 ★如何使用Dcoker部署Redis主从切换哨兵模式(一主二从三哨兵)。 1.2、一句话总结今天我们学习达到的目标 在ASP.NET Core中如何使用分布式缓存Redis主从Sentinel哨兵模式实现故障转移。 二、Redis的三种集群解决方案对比 redis有三种集群方式:主从复制,哨兵模式和集群。 1)、Redis主从复制特点

Redis主从备份&哨兵设置

二次信任 提交于 2021-01-12 06:54:20
Redis 主从备份,哨兵设置 环境 Centos 7,redis 4.0.6 三个centos 7实例 节点 IP 端口 redis-master 172.31.193.221 6379 redis-slave 172.31.193.222 6379 redis-LBS 172.31.193.224 6379 redis-sentinel-master 172.31.193.221 26379 redis-sentinel-slave 172.31.193.222 26379 redis-sentinel-LBS 172.31.193.224 26379 1.将redis解压到目录(/bak/soft/) tar -zxvf 压缩包名 解压目录 2.创建日志和数据恢复目录 mkdir -p /bak/soft/logs/redis mkdir -p /bak/soft/cdata/redis mkdir -p /bak/soft/logs/redis-sentinel mkdir -p /bak/soft/cdata/redis-sentinel 3.配置redis-master.conf bind 127.0.0.1 172.31.193.221 daemonize yes masterauth "ADMINadmin123" requirepass

Spring Data Redis Lettuce Connection Issue

自闭症网瘾萝莉.ら 提交于 2021-01-05 14:37:53
问题 I have spring boot application with MYSQL DB and i am caching the data in Redis in server layer with @Cacheable Annotation @Cacheable(value= "employeeCache", key= "#customerId") @Override public Customer getEmployee(String customerId) { Optional<Customer> cust = customerRepository.findById(Long.parseLong(customerId)); if(cust.isPresent()) { return cust.get(); } return null; } I am using 1 Master 2 Slave and 2 sentinel node, i have deployed the application in docker containers, in AWS ec2

Redis高可用之Sentinel哨兵

江枫思渺然 提交于 2021-01-04 09:38:08
一,单实例模式 当系统中只有一台redis运行时,一旦该redis挂了,会导致整个系统无法运行。 二,主从模式 由于单台redis出现单点故障,就会导致整个系统不可用,所以想到的办法自然就是备份。当一台redis出现问题了,另一台redis可以继续提供服务。 三,自动故障转移机制 虽然上面redis做了备份,看上去很完美。但由于redis目前只支持主从复制备份(不支持主主复制),当主redis挂了,从redis只能提供读服务,无法提供写服务。所以,还得想办法,当主redis挂了,让从redis升级成为主redis。 这就需要自动故障转移,redis sentinel带有这个功能,当一个主redis不能提供服务时,redis sentinel可以将一个从redis升级为主redis,并对其他从redis进行配置,让他们使用新的主redis进行复制备份。 Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,当用Redis做Master-slave的高可用方案时,假如master宕机了,Redis本身(包括它的很多客户端)都没有实现自动进行主备切换,而Redis-sentinel本身也是一个独立运行的进程,它能监控多个master-slave集群,发现master宕机后能进行自动切换。它的主要功能有以下几点 实时地监控redis是否按照预期良好地运行;

Redis高可用之Sentinel哨兵/

浪尽此生 提交于 2021-01-04 08:52:19
一,单实例模式 当系统中只有一台 redis 运行时,一旦该 redis 挂了,会导致整个系统无法运行。 二,主从模式 由于单台 redis 出现单点故障,就会导致整个系统不可用,所以想到的办法自然 就是备份。当一台 redis 出现问题了,另一台 redis 可以继续提供服务。 三,自动故障转移机制 虽然上面 redis 做了备份,看上去很完美。但由于 redis 目前只支持主从复制 备份(不支持主主复制),当主 redis 挂了,从 redis 只能提供读服务,无法 提供写服务。所以,还得想办法,当主redis挂了,让从redis升级成为主redis。 这就需要自动故障转移,redissentinel 带有这个功能,当一个主 redis 不能 提供服务时,redissentinel 可以将一个从 redis 升级为主 redis,并对其他从 redis 进行配置,让他们使用新的主 redis 进行复制备份。 Redis-Sentinel 是 Redis 官方推荐的高可用性(HA)解决方案,当用 Redis 做 Master-slave 的高可用方案时,假如 master 宕机了,Redis 本身(包括 它的很多客户端)都没有实现自动进行主备切换,而 Redis-sentinel 本身也 是一个独立运行的进程,它能监控多个 master-slave 集群,发现 master 宕

Redis 备份、容灾及高可用实战,一文看齐~

做~自己de王妃 提交于 2021-01-03 16:26:31
点击▲关注 “ DevOps社群 ” 给公众号标星置顶 更多精彩 第一时间直达 来源丨java思维导图 一、Redis简单介绍 Redis是一个高性能的key-value非关系型数据库,由于其具有高性能的特性,支持高可用、持久化、多种数据结构、集群等,使其脱颖而出,成为常用的非关系型数据库。 此外,Redis的使用场景也比较多。 会话缓存(Session Cache) Redis缓存会话有非常好的优势,因为Redis提供持久化,在需要长时间保持会话的应用场景中,如购物车场景这样的场景中能提供很好的长会话支持,能给用户提供很好的购物体验。 全页缓存 在WordPress中,Pantheon提供了一个不错的插件wp-redis,这个插件能以最快的速度加载你曾经浏览过的页面。 队列 Reids提供list和set操作,这使得Redis能作为一个很好的消息队列平台来使用。 我们常通过Reids的队列功能做购买限制。比如到节假日或者推广期间,进行一些活动,对用户购买行为进行限制,限制今天只能购买几次商品或者一段时间内只能购买一次。也比较适合适用。 排名 Redis在内存中对数字进行递增或递减的操作实现得非常好。所以我们在很多排名的场景中会应用Redis来进行,比如小说网站对小说进行排名,根据排名,将排名靠前的小说推荐给用户。 发布/订阅 Redis提供发布和订阅功能,发布和订阅的场景很多

Redis的HelloWorld

走远了吗. 提交于 2020-12-26 05:57:42
1.安装完成的Redis:   linux安装的应用默认会在:usr/local/bin。        1.redis-benchmark:性能测试工具,是redis提供的一个高并发程序,可以在自己本机运行,看看自己本机性能如何。   2.redis-check-aof:修复有问题的AOF文件(【后续在Redis持久化】会详细讲解该用法)。   3.redis-check-rdb:修复有问题的RDB文件(【后续在Redis持久化】会详细讲解该用法)。   4.redis-cli:客户端,操作入口。   5.redis-sentinel:redis集群使用。   6.redis-server:redis服务器启动命令。    注:使用这些前必须先开启redis服务。 2.开启服务并测试HelloWorld:   1.将redis目录默认的【redis.conf】拷贝到自己定义好的一个路径下,比如【/myconf/redis.conf】(玩linux前,不管什么东西建议先备份一份 出厂的默认设置在去修改)。   2.修改redis.conf文件将里面的【daemonize no】 改成 yes,让服务在后台启动开启守护进程,输入【:wq!】保存并退出。        3.执行【ps -ef|grep redis】命令查看redis服务是否启动。当前是未启动状态。         4

redis(一主两从三哨兵模式搭建)记录

橙三吉。 提交于 2020-12-19 06:14:35
转自: http://www.cnblogs.com/fly-piglet/p/9836314.html 目的: 让看看这篇文章的的人能够知道:软件架构、软件的安装、配置、基本运维的操作、高可用测试、也包含我自己,能够节省对应的时间。 软件架构: 生产环境使用三台服务器搭建redis哨兵集群,3个redis实例(1主2从)+ 3个哨兵实例。生产环境能够保证在哨兵存活两台的情况下,只有一台redis能够继续提供服务(一主两从三哨兵) 主虚拟机1 从虚拟机2 从虚拟机3 172.16.48.129 172.16.48.130 172.16.48.131 软件安装:分别在三台机器上通过yum进行redis的下载和安装以及开机启动 # 添加软件安装源 yum install epel-release # 安装redis yum install redis -y # 启动redis、启动redis哨兵 systemctl start redis systemctl start redis-sentinel # 允许开机启动 systemctl enable redis systemctl enable redis-sentinel # 之后进行配置修改:为哨兵集群,重启启动服务 /etc/redis.conf(主库配置) # 修改redis配置文件:/etc/redis.conf # 1.

Redis基础、高级特性与性能调优

。_饼干妹妹 提交于 2020-12-18 05:04:51
本文将从Redis的基本特性入手,通过讲述Redis的数据结构和主要命令对Redis的基本能力进行直观介绍。之后概览Redis提供的高级能力,并在部署、维护、性能调优等多个方面进行更深入的介绍和指导。 本文适合使用Redis的普通开发人员,以及对Redis进行选型、架构设计和性能调优的架构设计人员。 目录 概述 Redis的数据结构和相关常用命令 数据持久化 内存管理与数据淘汰机制 Pipelining 事务与Scripting Redis性能调优 主从复制与集群分片 Redis Java客户端的选择 概述 Redis是一个开源的,基于内存的结构化数据存储媒介,可以作为数据库、缓存服务或消息服务使用。 Redis支持多种数据结构,包括字符串、哈希表、链表、集合、有序集合、位图、Hyperloglogs等。 Redis具备LRU淘汰、事务实现、以及不同级别的硬盘持久化等能力,并且支持副本集和通过Redis Sentinel实现的高可用方案,同时还支持通过Redis Cluster实现的数据自动分片能力。 Redis的主要功能都基于单线程模型实现,也就是说Redis使用一个线程来服务所有的客户端请求,同时Redis采用了非阻塞式IO,并精细地优化各种命令的算法时间复杂度,这些信息意味着: Redis是线程安全的(因为只有一个线程),其所有操作都是原子的,不会因并发产生数据异常