马哥门徒DEVOPS第十六周

1. 列出Redis的数据淘汰策略并说明

不同于之前的版本,redis5.0为我们提供了八个不同的内存置换策略。很早之前提供了6种。
配置redis.conf中的maxmemory这个值来开启内存淘汰功能

(1)volatile-lru:从已设置过期时间的数据集中挑选最近最少使用的数据淘汰。

(2)volatile-ttl:从已设置过期时间的数据集中挑选将要过期的数据淘汰。

(3)volatile-random:从已设置过期时间的数据集中任意选择数据淘汰。

(4)volatile-lfu:从已设置过期时间的数据集挑选使用频率最低的数据淘汰。

(5)allkeys-lru:从数据集中挑选最近最少使用的数据淘汰

(6)allkeys-lfu:从数据集中挑选使用频率最低的数据淘汰。

(7)allkeys-random:从数据集(server.db[i].dict)中任意选择数据淘汰

(8) no-enviction(驱逐):禁止驱逐数据,这也是默认策略。意思是当内存不足以容纳新入数据时,新写入操作就会报错,请求可以继续进行,线上任务也不能持续进行,采用no-enviction策略可以保证数据不被丢失。

这八种大体上可以分为4中,lru、lfu、random、ttl。

参考文档:
https://baijiahao.baidu.com/s?id=1655596263155881264&wfr=spider&for=pc

2. Redis数据持久化有哪些方式并说明优缺点

redis为什么快

单线程避免上下文切换

纯内存操作

非阻塞IO多路复用

缺点

内存限制,不能存海量数据
    
持久化方式:RDB、AOF
在这里插入图片描述

RDB(快照)

全量同步:从服务器有的数据全部丢弃,主服务器把所有数据发给他。

redis把磁盘中原有数据全部丢弃,然后把redis内存中数据全部重新写入磁盘

缺点:

会丢失数据(当磁盘数据丢弃,正在写入时如果出现故障会导致数据丢失)

优点:

整个Redis数据库将只包含一个文件,一旦系统出现灾难性故障,我们可以非常容易的进行恢复。

性能最大化,它仅需要fork出子进程,由子进程完成持久化工作,极大的避免服务进程执行IO操作了。

AOF

增量同步:主服务器只发送从服务器缺少的数据。

把所有的修改操作先写入日志中,然后逐条的执行最后就写入磁盘

缺点:
    
对于相同数量的数据集而言,AOF文件通常要大于RDB文件,RDB 在恢复大数据集时的速度比 AOF 的恢复速度要快。
AOF在运行效率上往往会慢于RDB

优点:

数据安全性高,Redis中提供了3中同步策略,即每秒同步、每修改同步和不同步

参考文档:
https://blog.csdn.net/weixin_43666051/article/details/102933938

3. 什么是VRRP协议,它在keepalived中起什么作用?

VRRP 协议,Virtual Router Redundancy Protocol,虚拟路由器冗余协议。VRRP由IETF提出,目的是为了解决局域网中配置默认网关的单点失效问题,1998年已推出正式的RFC2338协议标准。VRRP普遍应用在边缘网络中,它的设计目标是支持特定状况下IP数据流量失败转移不会引发混乱,容许主机使用单路由器,以及及时在实际第一跳路由器使用失败的情形下仍可以维护路由器间的连通性。
在一个VRRP虚拟路由器中,有多台物理的VRRP路由器,但是这多台的物理的机器并不能同时工作,而是由一台称为MASTER的负责路由工作,其它的都是BACKUP,MASTER并非一成不变,VRRP让每个VRRP路由器参与竞选,最终获胜的就是MASTER。MASTER拥有一些特权,比如,拥有虚拟路由器的IP地址,我们的主机就是用这个IP地址作为静态路由的。拥有特权的MASTER要负责转发发送给网关地址的包和响应ARP请求

Keepalived使用的是VRRP协议方式,Keepalived的目的是模拟路由器的高可用。
VRRP配置时Keepalived核心,IP漂移相关的配置。配置一台BACKUP节点,还须要再另外台机器上配置MASTER节点,这样才能达到IP漂移的效果。

一些keepalived的闲杂知识
(A)keepalived的容灾切换原理
keepalived中优先级高的节点为MASTER。MASTER其中一个职责就是响应VIP的ARP包,将VIP和MAC地址映射关系告诉局域网内其余主机,同时,它还会以多播的形式向局域网中发送VRRP通告,告知本身的优先级。网络中的全部BACKUP节点只负责处理MASTER发出的多播包,当发现MASTER的优先级没本身高,或者没收到MASTER的VRRP通告时,BACKUP将本身切换到MASTER状态,而后作MASTER该作的事(1.响应ARP包;2.发送VRRP通告)。
备注:响应ARP包,告诉本机的MAC地址,也意味着告诉发送方,本机才是虚拟IP的拥有者。这个IP漂移的关键哦。
(B)keepalived启动进程的说明
keepalived启动后会有三个进程,以下:
父进程:内存管理,子进程管理等
子进程:VRRP子进程
子进程:healthchecker子进程
(C)在HA架构中,若是出现两个节点同时认为自已经是惟一处于活动状态的服务器从而出现争用资源的状况,这种争用资源的场景便是所谓的"脑裂"(split-brain)或"partitioned cluster"。在两个节点共享同一个物理设备资源的状况下,脑裂会产生至关可怕的后果。
(D)keepalived/heartbeat/HAProxy的比较
keepalived主要是控制IP的漂移,其配置、应用简单,而heartbeat则不但能够控制IP漂移,更擅长对资源服务的控制,其配置、应用比较复杂。
通常Keepalived是实现前端高可用,经常使用的前端高可用的组合有,就是咱们常见的LVS+Keepalived、Nginx+Keepalived、HAproxy+Keepalived。而Heartbeat或Corosync是实现服务的高可用,常见的组合有Heartbeat v3(Corosync)+Pacemaker+NFS+Httpd实现Web服务器的高可用,Heartbeat v3(Corosync)+Pacemaker+NFS+MySQL实现MySQL服务器的高可用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值