搭建多节点集群

因为每个 Disque 节点都会将自己的配置信息储存在 disque-server 运行的文件夹里面,而同一个文件夹只能有一份这样的配置信息,所以如果我们打算同时运行多个节点,那么就必须在不同的文件夹里面运行 disque-server ,并为每个节点指定不同的端口。

假设我们现在打算运行三个 Disque 节点,那么首先要做的就是创建三个文件夹,然后分别在这些文件夹里面运行 disque-server

  1. $ mkdir node10086 node10087 node10088 -- 创建三个文件夹
  2.  
  3. $ cd node10086 -- 进入 node10086 文件夹
  4.  
  5. $ disque-server --port 10086 & -- 然后启动一个端口号为 10086 的节点
  6. [1] 16941
  7.  
  8. $ cd ../node10087/ -- 进入 node10087 文件夹
  9.  
  10. $ disque-server --port 10087 & -- 然后启动一个端口号为 10087 的节点
  11. [2] 16942
  12.  
  13. $ cd ../node10088/ -- 进入 node10088 文件夹
  14.  
  15. $ disque-server --port 10088 & -- 然后启动一个端口号为 10088 的节点
  16. [3] 16943

在启动了三个节点之后,接下来要做的就是将这三个节点组合起来,形成一个包含三个节点的集群,步骤如下:

  1. $ disque -p 10086 -- 连接端口号为 10086 的节点
  2. 127.0.0.1:10086> CLUSTER INFO -- 打印集群信息
  3. cluster_state:ok
  4. cluster_known_nodes:1 -- 目前集群只有一个节点
  5. cluster_reachable_nodes:0
  6. cluster_size:1
  7. cluster_stats_messages_sent:0
  8. cluster_stats_messages_received:0
  9.  
  10. 127.0.0.1:10086> CLUSTER MEET 127.0.0.1 10087 -- 将端口号为 10087 的节点加入到集群里面
  11. OK
  12.  
  13. 127.0.0.1:10086> CLUSTER INFO
  14. cluster_state:ok
  15. cluster_known_nodes:2 -- 集群现在有两个节点
  16. cluster_reachable_nodes:1
  17. cluster_size:2
  18. cluster_stats_messages_sent:5
  19. cluster_stats_messages_received:5
  20.  
  21. 127.0.0.1:10086> CLUSTER MEET 127.0.0.1 10088 -- 将端口号为 10088 的节点加入到集群里面
  22. OK
  23.  
  24. 127.0.0.1:10086> CLUSTER INFO
  25. cluster_state:ok
  26. cluster_known_nodes:3 -- 集群现在有三个节点
  27. cluster_reachable_nodes:2
  28. cluster_size:3
  29. cluster_stats_messages_sent:23
  30. cluster_stats_messages_received:23

大功告成!现在我们已经建立了一个由三个节点组成的 Disque 集群,你可以随意地向这个集群发送命令来进行测试了。