codis配置_Codis源码分析之环境篇

Codis是一个分布式Redis解决方案,提供无状态的Proxy,支持不停机的数据迁移和扩展。本文介绍了Codis的架构、主要组件以及启动流程,包括Codis Dashboard、Proxy和Fe的职责。同时,文章提到了代码分析,帮助理解各组件的工作原理。
摘要由CSDN通过智能技术生成

一、Codis介绍

Codis是豌豆荚开源的Redis集群方案,github地址:

https://github.com/CodisLabs/codis

以下是官方介绍:

Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有显著区别 (不支持的命令列表), 上层应用可以像使用单机的 Redis 一样使用, Codis 底层会处理请求的转发, 不停机的数据迁移等工作, 所有后边的一切事情, 对于前面的客户端来说是透明的, 可以简单的认为后边连接的是一个内存无限大的 Redis 服务。

https://github.com/CodisLabs/codis/blob/release3.2/doc/tutorial_zh.md

Codis主要解决的是redis的扩展和运维问题,因为redis官方以前没有集群方案,自从3.0才有,并且刚开始做的比较弱,特别是运维这块不是很友好,很多都是命令行操作的。我们可以认为Codis是一个可以支持容量可以无限扩大的Redis集群就行。

二、Codis安装及配置

1、整体架构

Codis是由golang写的,因此需要先安装go语言,官方给的文档已经很详细了,这里不详述。

我们看下Codis的整体架构,基于3.2:

29dc7a16618b05d7b6f02e30424646d5.png

2、相关概念

Codis Server:可以理解为原生的Redis,在整个集群中充当存储用,即最终数据是存在Redis中的,不过Codis在上面改了些东西,加了些命令,便于集群迁移和分片;

Codis Proxy:客户端连接的 Redis 代理服务, 实现了 Redis 协议。即Proxy只是一个代理,把命令做解析,然后根据路由规则转到不同的Codis Server中,Proxy是无状态的,可以无限扩容,Proxy信息保存在Zookeeper等Storage(后面再介绍)中,客户端需要自己刷新最新的Proxy列表。

Codis Dashboard:这个是Codis的核心,对集群的绝大部分修改都是它来完成的。官方的介绍如下:集群管理工具,支持 codis-proxy、codis-server 的添加、删除,以及据迁移等操作;说的比较笼统,下面我们会通过代码来说明其作用。 

Codis FE:集群管理界面,可以理解为UI。

Codis Admin:集群管理的命令行工具,可用于控制 codis-proxy、codis-dashboard 状态以及访问外部存储。为什么有了Dashboard,还要Codis Admin,这个工具的主要定位是通过命令行的方式操作,其实后面的逻辑是一样的,即Codis Admin和Codis Fe是两种不同的界面,最后的逻辑是一样的。 

Storage:主要存储元数据,如集群有多少个 Proxy,当前的分片是怎么样的。目前有 Zookeeper、Etcd、Fs等方式的实现。

3、集群启动

整个集群的启动方式官方也有说明,大体顺序如下:

1)、启动codis-

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值