mirror of
https://github.com/zhwei820/learn.lianglianglee.com.git
synced 2025-11-17 14:43:43 +08:00
fix img
This commit is contained in:
@@ -224,12 +224,12 @@ function hide_canvas() {
|
||||
<p>Redis 将所有的数据分为 16384 个 slots(槽),每个节点负责其中的一部分槽位,当有 Redis 客户端连接集群时,会得到一份集群的槽位配置信息,这样它就可以直接把请求命令发送给对应的节点进行处理。</p>
|
||||
<p>Redis Cluster 是无代理模式去中心化的运行模式,客户端发送的绝大数命令会直接交给相关节点执行,这样大部分情况请求命令无需转发,或仅转发一次的情况下就能完成请求与响应,所以集群单个节点的性能与单机 Redis 服务器的性能是非常接近的,因此在理论情况下,当水平扩展一倍的主节点就相当于请求处理的性能也提高了一倍,所以 Redis Cluster 的性能是非常高的。</p>
|
||||
<p>Redis Cluster 架构图如下所示:</p>
|
||||
<p><img src="assets/b74ff8b0-8579-11ea-ab1b-af991e0896fe" alt="image.png" /></p>
|
||||
<p><img src="assets/b74ff8b0-8579-11ea-ab1b-af991e0896fe" alt="png" /></p>
|
||||
<h3>搭建 Redis Cluster</h3>
|
||||
<p>Redis Cluster 的搭建方式有两种,一种是使用 Redis 源码中提供的 create-cluster 工具快速的搭建 Redis 集群环境,另一种是配置文件的方式手动创建 Redis 集群环境。</p>
|
||||
<h4><strong>快速搭建 Redis Cluster</strong></h4>
|
||||
<p>create-cluster 工具在 utils/create-cluster 目录下,如下图所示:</p>
|
||||
<p><img src="assets/c9c920c0-8579-11ea-a9ff-29e53f17413b" alt="image.png" /></p>
|
||||
<p><img src="assets/c9c920c0-8579-11ea-a9ff-29e53f17413b" alt="png" /></p>
|
||||
<p>使用命令 <code>./create-cluster start</code> 就可以急速创建一个 Redis 集群,执行如下:</p>
|
||||
<pre><code class="language-shell">$ ./create-cluster start # 创建集群
|
||||
Starting 30001
|
||||
@@ -319,8 +319,8 @@ $ ./create-cluster clean # 清理集群
|
||||
</code></pre>
|
||||
<h4><strong>手动搭建 Redis Cluster</strong></h4>
|
||||
<p>由于 create-cluster 本身的限制,在实际生产环境中我们需要使用手动添加配置的方式搭建 Redis 集群,为此我们先要把 Redis 安装包复制到 node1 到 node6 文件中,因为我们要安装 6 个节点,3 主 3 从,如下图所示:</p>
|
||||
<p><img src="assets/dba0b1a0-8579-11ea-9270-3f924eb97e89" alt="image.png" /></p>
|
||||
<p><img src="assets/f7eb6e40-8579-11ea-a9ff-29e53f17413b" alt="image.png" /></p>
|
||||
<p><img src="assets/dba0b1a0-8579-11ea-9270-3f924eb97e89" alt="png" /></p>
|
||||
<p><img src="assets/f7eb6e40-8579-11ea-a9ff-29e53f17413b" alt="png" /></p>
|
||||
<p>接下来我们进行配置并启动 Redis 集群。</p>
|
||||
<p><strong>1. 设置配置文件</strong></p>
|
||||
<p>我们需要修改每个节点内的 redis.conf 文件,设置 <code>cluster-enabled yes</code> 表示开启集群模式,并且修改各自的端口,我们继续使用 30001 到 30006,通过 <code>port 3000X</code> 设置。</p>
|
||||
@@ -480,7 +480,7 @@ f5958382af41d4e1f5b0217c1413fe19f390b55f 127.0.0.1:<a href="/cdn-cgi/l/email-pro
|
||||
<h4><strong>删除节点</strong></h4>
|
||||
<p>使用 <code>cluster forget nodeId</code> 命令就可以把一个节点从集群中移除。</p>
|
||||
<p>此命令和 meet 命令不同的时,删除节点需要把使用节点的 Id 进行删除,可以通过 <code>cluster nodes</code> 命令查看所有节点的 Id 信息,其中每一行的最前面的 40 位字母和数组的组合就是该节点的 Id,如下图所示:</p>
|
||||
<p><img src="assets/09adf080-857a-11ea-a60a-8194ba77d48b" alt="image.png" /></p>
|
||||
<p><img src="assets/09adf080-857a-11ea-a60a-8194ba77d48b" alt="png" /></p>
|
||||
<p>执行命令如下:</p>
|
||||
<pre><code class="language-shell">127.0.0.1:30001> cluster forget df0190853a53d8e078205d0e2fa56046f20362a7
|
||||
OK
|
||||
|
||||
Reference in New Issue
Block a user