Redis_ 集群 _Twitter_Twemproxy 模式_4|学习笔记

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: 快速学习 Redis_ 集群 _Twitter_Twemproxy 模式_4

开发者学堂课程【Redis 数据库入门Redis_集群_Twitter_Twemproxy模式_4】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/15/detail/64


Redis_集群_Twitter_Twemproxy模式_4


内容介绍:

一、Redis_ 集群 _Twitter_Twemproxy 模式


一、Redis_ 集群_Twitter_Twemproxy 模式

由上节内容可知,目前依然存在主从

输入 redis-cli 后输入

set mykey 123123

显示 can’t write against a read only slave,继续输入

slaveof no one

结果显示 ok 后再输入

set mykey 123123

结果显示 ok

那么6379就不是从了

image.png

再来确认一下6380和6381是否是主,输入

exit

redis-cli -p 6380

set mykey 123123

结果显示 ok,继续输入

exit

redis-cli -p 6381

set mykey 123123

结果显示ok

exit

证明都是主,现在三个redis已经准备好,可以启动代理,输入

cd..

cd /usr/local/sbin/

nutcracker-d-c /usr/hadoopsoft/twemproxy-0.4.1/nutcracker.bjsxt.yml

-d 代表 daemon 后台,twemproxy 代理了 redis 的协议,通过 redis 客户端可以连接到 twemproxy

再来查看端口,输入

ss -tanl

找不到,输入 ll 查看,结果显示

image.png

来检查错误,输入

ll /usr/hadoopsoft/tweproxy-4.0.1/

image.png

发现 bsjxt 出现错误,来修改

cd /usr/hadoopsoft/tweproxy-0.4.1/

ll

mv nutcracker.bsjxt.yml nutcracker.bjsxt.yml

cd -

nutcracker-c /usr/hadoopsoft/tweproxy-0.4.1/nutcracker.bjsxt.yml

ll /usr/hadoopsoft/twemproxy-0.4.1/

创建一个新端口查看,输入

ss -tanl

image.png

结果显示22121和22222端口,类似于6379等是和其他提供通讯的端口,最后一行是提供外来服务的端口,现在启动起来后,就已经有了 twemproxy

接着我们使用 redis 连接

redis-cli -p -p 22121 -h 192.168.80.21

连接成功后继续操作:

set msg hello

结果显示 ok

get msg

结果显示”hello”

但是真正是将数据存到后面三个 redis 中

再创建三个 node21输入

redis-cli -p 6379

get msg

结果显示(nil)没有,再在第二个中输入

redis-cli -p 6380

get msg

依然没有,在第三个中继续输入

redis-cli -p 6381

get msg

结果显示”hello”

会发现现在使用代理存在数据不同步现象,如果存有hello的这台机器挂掉就不容易再读到,解决方法:找一个从去复制数据或者将从上为主去写,但是存在此时配置文件中没有修改,redis 没法代理问题

再来测试 set date,输入

set date 2016

结果显示ok

get date

结果显示”2016”

在第二个6380中输入

get date

结果显示(nil)

在第三个6379中输入

get date

结果显示”2016”

注意的问题是节点下线就找不到了,再上线就能找到数据。

所以此时存在问题:

用代理模式,集群不好扩展,而且容错也有问题。因为每个服务器都对应一个区间,能不能把服务器 A 中的数据移到B中,代理是不能做到的。但是可以将代挂挂a,数据都放在 b 中

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
8月前
|
运维 NoSQL 算法
Redis-Cluster 与 Redis 集群的技术大比拼
Redis-Cluster 与 Redis 集群的技术大比拼
220 0
|
存储 缓存 NoSQL
服务搭建篇(五) Redis单机/redis-cluster集群搭建
当客户端向一个错误的节点发出了指令,该节点会发现指令的 key 所在的槽位并不归自己管理,这时它会向客户端发送一个特殊的跳转指令携带目标操作的节点地址,告诉客户端去连这个节点去获取数据。客户端收到指令后除了跳转到正确的节点上去操作,还会同步更新纠正本地的槽位映射表缓存,后续所有 key 将使用新的槽位映射表。下面第21步操作会有演示
313 0
|
6月前
|
存储 NoSQL 算法
Redis 集群模式搭建
Redis 集群模式搭建
113 5
|
8月前
|
存储 缓存 运维
Redis专题(持续更新) 03-VIP-Redis高可用集群之水平扩展
本文介绍了如何通过水平扩展来提升Redis高可用集群的性能和可用性。文章首先展示了如何启动整个集群,并使用客户端连接至特定端口的Redis实例以及查看集群状态。接着详细介绍了增加Redis实例的步骤,包括配置新的主节点和从节点,并使用命令进行节点的添加和删除操作。其中还包括了重新分片操作以及将从节点指定给主节点的过程。最后,文章以删除主节点为结束,展示了如何将数据迁移至其他节点后进行节点的删除操作。整篇文章详细介绍了Redis高可用集群的水平扩展操作,对于需要扩展Redis集群的运维人员具有一定的指导意义。
179 0
|
网络协议 NoSQL Redis
【Redis源码】集群之分布式cluster原理(十四)
集群之分布式cluster原理(十四)
112 0
|
存储 NoSQL Redis
【Redis核心知识 八】Redis集群之Cluster模式及集群搭建(二)
【Redis核心知识 八】Redis集群之Cluster模式及集群搭建
179 1
|
存储 负载均衡 NoSQL
【Redis核心知识 八】Redis集群之Cluster模式及集群搭建(一)
【Redis核心知识 八】Redis集群之Cluster模式及集群搭建(一)
1235 0
|
存储 缓存 NoSQL
Redis分布式缓存学习篇三之Cluster模式
Redis分布式缓存学习篇三之Cluster模式
Redis分布式缓存学习篇三之Cluster模式
|
NoSQL 算法 数据库
Redis_ 集群 _Twitter_Twemproxy 模式_2|学习笔记
快速学习 Redis_ 集群 _Twitter_Twemproxy 模式_2
Redis_ 集群 _Twitter_Twemproxy 模式_2|学习笔记
|
监控 NoSQL 关系型数据库
Redis_ 集群 _Twitter_Twemproxy 模式_1|学习笔记
快速学习 Redis_集群 _Twitter_Twemproxy 模式_1
Redis_ 集群 _Twitter_Twemproxy 模式_1|学习笔记