标签:运维 接收 消息 情况下 特点 哨兵模式 查询 数据收集 通讯
Redis(内存数据库)Redis特点:
Redis 集群是3.0之后才引入的,在3.0之前,使用哨兵(sentinel)机制(本文将不做介绍,大家可另行查阅)来监控各个节点之间的状态。Redis 集群可谓是让很多人久等了。
Redis 集群是一组能进行数据共享的Redis 实例(服务或者节点)的设施,集群可以使用的功能是普通单机 Redis 所能使用的功能的一个子集;Redis 集群通常具有高可用、可扩展性、分布式、容错等特性。了解redis的集群后,这些晦涩的概念可结合redis的主从、集群分区和集群运维等角度理解体会。
Redis集群
基本介绍
Redis 集群是一个可以在多个 Redis 节点之间进行数据共享的设施installation。
Redis 集群不支持那些需要同时处理多个键的 Redis 命令, 因为执行这些命令需要在多个 Redis 节点之间移动数据, 并且在高负载的情况下, 这些命令将降低Redis集群的性能, 并导致不可预测的行为。
Redis 集群通过分区partition来提供一定程度的可用性availability: 即使集群中有一部分节点失效或者无法进行通讯, 集群也可以继续处理命令请求。
Redis集群提供了以下两个好处:
将数据自动切分split到多个节点的能力。
当集群中的一部分节点失效或者无法进行通讯时, 仍然可以继续处理命令请求的能力。
Redis Cluster功能特点如下:
1)所有的节点相互连接
2)集群消息通信通过集群总线通信,集群总线端口大小为客户端服务端口+10000,这个10000是固定值
3)节点与节点之间通过二进制协议进行通信
4)客户端和集群节点之间通信和通常一样,通过文本协议进行
5)集群节点不会代理查询
6)数据按照Slot存储分布在多个Redis实例上
7)集群节点挂掉会自动故障转移
8)可以相对平滑扩/缩容节点
Redis主从复制结构:
一主以从、一主多从、主从从
Redis主从复制工作原理
工作原理:
slave向master发送sync命令
master启动后台存盘进程,并收集所有修改数据命令
master完成后台存盘后,传送整个数据文件到slave
slave接收数据文件,加载到内存中完成首次完全同步
后续有新数据产生时,master继续将新的数据收集到
的修改命令依次传给slave,完成同步。
主从复制缺点:
网络繁忙,会产生数据同步延时问题
系统繁忙,会产生数据同步延时问题
哨兵模式:
主库宕机后,从库自动升级为主库
在slave主机编辑sentinel.conf文件
Redis持久化是如何工作的?
什么是持久化?简单来讲就是将数据放到断电后数据不会丢失的设备中,也就是我们通常理解的硬盘上。
redis 提供了两种持久化方式,一种是RDB,一种是AOF;
RDB 是指在制定的时间间隔生成数据集的快照,
AOF持久化记录服务器执行的所有写命令,并在服务器重启时,重新执行这些命令来恢复数据
RDB的优点和缺点
RDB优点
–高性能的持久化实现 —>创建一个子进程来执行持久化,先将数据写入临时文件,持久化过程介乎后,再用这个临时文件替换上次持久化号的完呢键; 过程中主进程不做任何IO操作(处理客户端请求的进程和负责存盘的进程不是同一个进程)
–比较适合大规模数据恢复,且对数据完整性要求不是很高
RDB的缺点
–意外宕机时,最后一次持久化的数据会丢失
AOF优点和缺点
AOF优点:
– 可以灵活设置持久化方式,同步持久化方式有三种,同步持久化appendfsync always或异步持久化appendfsync everysec
–出现以外宕机时,仅肯能丢失1秒的数据
AOF缺点
–持久化文件的体积通常会大于RDB的体积
–执行fsync策略时的速度可能会比RDB方式慢
标签:运维 接收 消息 情况下 特点 哨兵模式 查询 数据收集 通讯
原文地址:https://blog.51cto.com/14050800/2397277