专注Java教育14年 全国咨询/投诉热线:444-1124-454
赢咖4LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 Redis分布式部署的三种方法

Redis分布式部署的三种方法

更新时间:2022-02-15 09:44:15 来源:赢咖4 浏览1907次

1.主从模式(又称复制)

Redis主从复制也应该是相同原理在其他数据库中的应用,也可以称为读写分离;还有一个主数据库和从数据库。

写数据库一般是主数据库,而读数据库则是从数据库。

缺点:由于写数据库的写操作和分布,存在主从数据与写数据库的同步操作不一致的可能。

* 如果只有一个主库,多组从库,不能保证高可用(需要手动维护,切换主库)

一般原则:

(1)主库(写)正常配置

(2)数据库中配置的主数据库

(3)接收到SYNC指令后,通过RDB快照接收当前数据库,然后发送队列保存快照创建周期和操作。

(4)从数据库接收到快照后,执行本地;并接收主库队列的增量同步数据

(5)所有写入操作都通过主库,而主库是从服务器同步到从服务器推送增量数据异步执行的。

(6)大部分的读操作都是从数据库进行的

(7)Redis虽然是单线程,但不代表所有操作都是单线程,只是主线程是单线程模式。为了保持 REDIS 的高性能读写,主数据的写操作和从数据库同步的数据是异步的。

如何配置:

在配置文件中添加(仅来自数据库):

5.0 紧随其后:

REPLICAOF 本地主机6379

奴隶本地主机6379

如果主库挂了,只能手动切换,从服务中取消命令

REPLICAOF没有人

2.哨兵模式

顾名思义,哨兵就是站岗——监控。那么什么是监控呢?这是即将来自一个主机,一个master数据库如果崩溃了,那么服务就中断了,那么sentinel就对应了这个问题。

当主库挂起时,可以使用哨兵监控(也可以使用Guard Wiring帮助理解),将从服务器转换为主服务器。哨兵也可以相互监控。

配置:

(1)我使用的是源码提供的u​​til目录下的ITILL脚本,安装3个端口的Redis-Server服务

(2)在/etc/redis/对应配置文件中添加递增

哨兵监控大师127.0。0.1  6379  2

最后一个数字表示投票选举新主节点的票数

(3)然后在/etc/init.d/的对应配置中,添加--sentinelstarts

(4)重启服务:服务redis_6xxx重启

PS:哨兵模式,会自动修改配置文件,默认应该是轮询模式,看日志,服务挂掉后不要非常实时切换主节点。

3.集群模式

集群模式可以作为滑块模式使用,可以增加横向扩展和切片的功能。

即使使用哨兵模式,系统可能仍有数据量增加,这种情况下可能需要数据执行服务器部分(客户端切片,不同客户端可以根据需要连接不同的REDIS数据库)

集群模式实现了服务器的分区功能。

客户端分区是客户端决定了数据将存储在哪个REDIS节点或读取哪个Redis节点。大多数客户端都实现了客户端分区。

代理分区是指客户端将请求发送给代理,然后代理决定哪个节点写入数据或读取数据。代理根据分区规则确定哪些REDIS实例,然后根据Redis的响应结果返回给客户端。Redis 和 memcached Twemproxy的代理实现

Query Routing是指客户端随机请求任意一个 REDIS 实例,然后将请求转发到正确的 REDIS 节点。Redis Cluster 实现了混合形式的查询路由,但并不直接将请求从一个 Redis 节点转发到另一个节点,而是直接在客户端的帮助下进行。重定向到正确的 REDIS 节点。如果大家想了解更多相关知识,可以关注一下赢咖4的Redis教程,里面的课程更加细致全面,通俗易懂,即使没有基础也能听懂,希望对大家的学习能够有所帮助。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>