redis集群之Codis( 二 )


  Codis 使用 Go 语言开发 , 它是一个代理中间件 , 它和 Redis 一样也使用 Redis 协议对外提供服务 , 当客户端向 Codis 发送指令时 , Codis 负责将指令转发到后面的 Redis 实例

来执行 , 并将返回结果再转回给客户端 。 Codis 上挂接的所有 Redis 实例构成一个 Redis 集群 , 当集群空间不足时 , 可以通过动态增加 Redis 实例来实现扩容需求 。 客户端操纵 Codis 同操纵 Redis 几乎没有区别 , 还是可以使用相同的客户端 SDK , 不需要任何变化 。 因为 Codis 是无状态的 , 它只是一个转发代理中间件 , 这意味着我们可以启动多个Codis 实例 , 供客户端使用 , 每个 Codis 节点都是对等的 。 因为单个 Codis 代理能支撑的QPS 比较有限 , 通过启动多个 Codis 代理可以显著增加整体的 QPS 需求 , 还能起到容灾功能 , 挂掉一个 Codis 代理没关系 , 还有很多 Codis 代理可以继续服务 。

Codis 分片原理
  Codis 要负责将特定的 key 转发到特定的 Redis 实例 , 那么这种对应关系 Codis 是如

推荐阅读