codis配置_Codis初始化之Group及Slot篇

本文详细介绍了Codis中Redis Group的初始化,包括添加Group和向Group中添加Redis Server的过程。同时,讨论了Slots的分配,以及Jodis如何实现Proxy的高可用性和负载均衡。所有配置信息都会在Zookeeper中保存,以便管理和同步。
摘要由CSDN通过智能技术生成

前面我们分析了Codis Proxy的初始化:Codis Proxy初始化篇,今天分析其它部件的初始化,包括Redis Group及Slot的初始化。

一、Redis Group初始化

Group的功能大概有:添加Group、往Group中添加Redis Server,先看添加Group。

看下在Fe中添加Group的流程:

r.Put("/create/:xauth/:gid", api.CreateGroup)

添加Group的请求由CreateGroup函数处理,后者再调用s.topom.CreateGroup:

func (s *apiServer) CreateGroup(params martini.Params) (int, string) {  //省略其它代码  //创建Group  if err := s.topom.CreateGroup(gid); err != nil {    return rpc.ApiResponseError(err)  } else {    return rpc.ApiResponseJson("OK")  }}

再看topom.CreateGroup:

func (s *Topom) CreateGroup(gid int) error {  //省略无关代码  return s.storeCreateGroup(g)}

再跟进去发现在Zk上保存的路径为:

0da74002471aa64e068fb7b54e269b79.png

其中0001为GroupId经过补0处理了。

二、Group添加Redis Server

处理函数为api.GroupAddServer:

r.Put("/add/:xauth/:gid/:addr/:datacenter", api.GroupAddServer)

然后会调用Topom的GroupAddServer

//先检测是否存在  for _, g := range ctx.group {    f
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值