主从概念以及主从的相关知识

主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master/leader),后者称为从节点(slave/follower);数据的复制是单向的,只能又主节点到从节点。Master以写为主,Slave以读为主。

默认情况下,每台Redis服务器都是主节点;且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。

主从复制的作用主要包括

数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。
故障恢复:当主节点出现问题时,可以由从节点提供服务,实现快速的故障恢复;实际上是一种服务的冗余。
负载均衡:在主从复制的基础上,配置读写分离,可以由主节点提供写服务,由从节点提供读服务(即写Redis数据时应用连接主节点,读Redis数据时应用连接从节点),分担服务器负载;尤其是在写少读多的场景下,通过多个从节点分担读负载,可以大大提高Redis服务器的并发量
高可用基石:除了上述作用以外,主从复制还是哨兵和集群能够实施的基础,因此说主从复制是Redis高可用的基础
一般来说,要将Redis运用于工程项目中,只使用一台Redis是万万不能的,原因如下:

从结构上。单个Redis服务器会发生单点故障,并且一台服务器需要处理所有的请求负载,压力较大;
从容量上,单个Redis服务器内存容量有限,就算一台Redis服务器内存容量为265G,也不能将所有内存作Redis存储内存,一般来说,单台Redis最大适合于内存不应该超过20G

节点发现与自动集群
EMQ X 支持基于 Ekka 库的集群自动发现 (Autocluster)。Ekka 是为 Erlang/OTP 应用开发的集群管理库,支持 Erlang 节点自动发现 (Service Discovery)、自动集群 (Autocluster)、脑裂自动愈合 (Network Partition Autoheal)、自动删除宕机节点 (Autoclean)。

EMQ X 支持多种节点发现策略:


手动(manual) 方式管理集群介绍
假设要在两台服务器 s1.emqx.io, s2.emqx.io 上部署 EMQ X 集群:

注意: 节点名格式为 Name@Host, Host 必须是 IP 地址或 FQDN (主机名。域名)

配置 emqx@s1.emqx.io 节点
emqx/etc/emqx.conf:node.name = emqx@s1.emqx.io 或 node.name = emqx@192.168.0.10

也可通过环境变量:export EMQX_NODE_NAME=emqx@s1.emqx.io && ./bin/emqx start

注意: 节点启动加入集群后,节点名称不能变更。
配置 emqx@s2.emqx.io 节点
emqx/etc/emqx.conf:

节点加入集群
启动两台节点后,在 s2.emqx.io 上执行:$ ./bin/emqx_ctl cluster join emqx@s1.emqx.io

注意: s2.emqx.io加入集群后会清除本身全部的数据,同步s1.emqx.io节点的数据。如果还有s3.emqx.io节点,那么需要在s3.emqx.io节点去执行命令加入emqx@s1.emqx.io或者emqx@s2.emqx.io, 已经在集群的节点不能在join到其他节点,否则会退出当前集群和join的节点组成一个新的集群
在任意节点上查询集群状态:
命令:$ ./bin/emqx_ctl cluster status

退出集群
节点退出集群,两种方式:
  1.leave: 让本节点退出集群
  2.force-leave: 从集群删除其他节点
让 emqx@s2.emqx.io 主动退出集群:$ ./bin/emqx_ctl cluster leave

或在 s1.emqx.io 上,从集群删除 emqx@s2.emqx.io 节点:$ ./bin/emqx_ctl cluster force-leave emqx@s2.emqx.io

2.3 防火墙设置
若预先设置了环境变量 WITH_EPMD=1, 启动 emqx 时会使用启动 epmd (监听端口 4369) 做节点发现。称为 epmd 模式。 若环境变量 WITH_EPMD 没有设置,则启动 emqx 时不启用 epmd,而使用 emqx ekka 的节点发现,这也是 4.0 之后的默认节点发现方式。称为 ekka 模式。

epmd 模式: 如果集群节点间存在防火墙,防火墙需要开启 TCP 4369 端口和一个 TCP 端口段。4369 由 epmd 端口映射服务使用,TCP 端口段用于节点间建立连接与通信。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值