1、原缓存型Redis部署:略
2、现缓存型Redis Cluster部署情况:
缓存型redis使用了yz-im-redis-cluster00.xxx.com~yz-im-redis-cluster04.xxx.com共5台机器。
所有redis节点均运行在work账号下。
节点列表如下:
IP | 服务类型 | 部署路径 | 监听端口 | 主节点/从节点 | 当前节点使用量 | 当前节点容量限制 | 节点ID | 分配槽(slot) | 节点状态 | 关联从节点<ip>:<port> | |
---|---|---|---|---|---|---|---|---|---|---|---|
1 | xx.xx.1.12 | cluster | /home/work/redis_cluster/redis-im/redis_7141 | 7141 | master | 10G | a77ece8ac937945a5973ec77d7b13e287ac491e9 | 0-3276 (3277 slots) | OK | xx.xx.0.66:7142 | |
2 | xx.xx.0.66 | cluster | /home/work/redis_cluster/redis-im/redis_7142 | 7142 | slave | 10G | 0826c95ba4f16246515cd958df7a1385adbaae8d | 0 slots | OK | ||
3 | xx.xx.0.66 | cluster | /home/work/redis_cluster/redis-im/redis_7141 | 7141 | master | 10G | 906844afdebd6df1203c4170531923758ec78a5c | 3277-6553 (3277 slots) | OK | xx.xx.1.13:7142 | |
4 | xx.xx.1.13 | cluster | /home/work/redis_cluster/redis-im/redis_7142 | 7142 | slave | 10G | e6010c7b21d3a7b884be7ad30e77b2fdad315843 | 0 slots | OK | ||
5 | xx.xx.1.13 | cluster | /home/work/redis_cluster/redis-im/redis_7141 | 7141 | master | 10G | b800cee98faabf82ff79e8205e003f346310d7a1 | 6554-9829 (3276 slots) | OK | xx.xx.0.71:7142 | |
6 | xx.xx.0.71 | cluster | /home/work/redis_cluster/redis-im/redis_7142 | 7142 | slave | 10G | dfc6856f671d4fba4a7d0e5126084946cfef642d | 0 slots | OK | ||
7 | xx.xx.0.71 | cluster | /home/work/redis_cluster/redis-im/redis_7141 | 7141 | master | 10G | 8dbfc67ab20448664a211b559eb42a266be7b8a3 | 9830-13106 (3277 slots) | OK | xx.xx.0.73:7142 | |
8 | xx.xx.0.67 | cluster | /home/work/redis_cluster/redis-im/redis_7142 | 7142 | slave | 10G | f2facb8a505cb12471de6b0ebc170daba7a578d1 | 0 slots | OK | ||
9 | xx.xx.0.67 | cluster | /home/work/redis_cluster/redis-im/redis_7141 | 7141 | master | 10G | 1e87dad8df0e93c30b20952d99e9407604f4ea32 | 13107-16383 (3277 slots) | OK | xx.xx.1.12:7142 | |
10 | xx.xx.1.12 | cluster | /home/work/redis_cluster/redis-im/redis_7142 | 7142 | slave | 10G | 8d6a537b004c51bdc2ae32c40a58d7421ed14919 | 0 slots | OK |
连接方式为:redis-cli -h <ip> -c -p <port> (客户端与redis节点直连,不需要中间proxy层.客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可,即可以访问整个集群)
举个栗子:redis-cli -h xx.xx.1.12 -c -p 7141 (加参数 -c 可连接到集群)
通过lvs代理访问:redis-cli -h xx.xx.252.1 -c -p 7141
启动:$ for((i=1;i<=2;i++)); do redis-server /home/work/redis_cluster/redis-im/redis_714${i}/conf/redis.conf; done
停止:$ for((i=1;i<=2;i++)); do redis-cli -p 714${i} shutdown; done
3、Redis Cluster服务(20181207)
KEY名 | TYPE | 作用 | 单机数量 | 是否在使用 | 过期时间 | 备注 | |
---|---|---|---|---|---|---|---|
1 | xxxxim:ImNewFollow:channel_id:mls_id | list | (老)用户会话关系列表 | 11137 | 是 | 挂了之后,商家端会话列表没了(很重要) | |
2 | xxxxim:ImLastMessage:2:mls_id | hash | 会话列表最后一条消息 | 200794 | 是 | 挂了之后:商家会话列表的最后一条消息不见了 | |
3 | xxxxim:ImLastMessageNew:channel_id:mls_id | hash | (新)用户列表最后一条消息 | 7446 | 是 | 挂了后:每条都会触发自动回复 | |
4 | xxxxim:ImMsgQueue:2:syncmls_id | list | (老)消息队列 | 5909 | 是 | 挂了后:商家端会话列表的未读消息数没了 | |
5 | xxxxim:ImMsgQueueUser:2:syncmls_id | list | (新)用户消息队列 | 19286 | 是 | 挂了之后:用户端的open_sync_msg接口返回为空(因为有增量同步,open_sync_msg_db接口可以替代其作用) | |
6 | xxxxim:ImGroupLatestedId:group_id | string | 记录群圈最后一条消息 | 1416 | 是 | 挂了后:群圈列表没有最后一条消息 | |
7 | xxxxim:chatHistory:mls_id:shop_id | string | 记录分流历史 | 1334 | 是 | 挂了后:不能分给最近聊过的客服 | |
8 | xxxxim:ImMsgQueueShop:2:syncmls_id | list | (新)店铺消息队列 | 46 | 是 | 没用 | |
9 | xxxxim:ImAutoReplyMsgQueue:autoreply | list | 自动回复消息队列 | 1(cluster01) | 是 |