什么是集群
多個(gè)服務(wù)器集中做一件事
集群和分布式的區(qū)別(面試題)
相同點(diǎn):解決高并發(fā)大數(shù)據(jù)等問題
不同點(diǎn):
集群:多個(gè)服務(wù)器去完成同一個(gè)功能 一起做事
分布式:多個(gè)服務(wù)器做不同的功能 分頭做事
為什么需要集群,集群有什么好處
解決高并發(fā),大數(shù)據(jù)等問題

image.png
集群的特點(diǎn)
- 擴(kuò)展性 ---可以動態(tài)去擴(kuò)展服務(wù)器
- 高可用 ---具備容錯(cuò)的功能(錯(cuò)誤恢復(fù))
- 負(fù)載均衡 ---把請求分配到不同的服務(wù)器里面
如何去做集群?
方案一 主從復(fù)制

image.png
優(yōu)點(diǎn):完成主從復(fù)制
缺點(diǎn):不能完成容錯(cuò)和恢復(fù)功能 手動重啟
擴(kuò)展服務(wù)器比較麻煩
方案二 哨兵模式

image.png
優(yōu)點(diǎn):完成自動的主從切換
缺點(diǎn):Redis較難支持在線擴(kuò)容,在集群容量達(dá)到上限時(shí)在線擴(kuò)容會變得很復(fù)雜
**方案三 Redis-Cluster

image.png
優(yōu)點(diǎn):可以完成分布式存儲 解決容量問題
Redis-Cluster采用無中心結(jié)構(gòu)
redis集群搭建步驟
- 拷貝6分redis文件 修改端口(6379-6384) 修改配置
cluster-enabled yes
cluster-config-file nodes-6379.conf
cluster-node-timeout 15000
appendonly yes
- 編寫一個(gè)啟動腳本
在對應(yīng)的文件夾新創(chuàng)建文件startup.bat
title redis-6379
redis-server.exe redis.windows.conf
- 安裝ruby環(huán)境
- 安裝ruby驅(qū)動環(huán)境
\rubygems-2.7.7 目錄里面執(zhí)行文件 ruby setup.rb - 通過驅(qū)動安裝redis
切換到6379文件夾里面安裝redis
gem install redis
- 啟動服務(wù) 創(chuàng)建集群 啟動6379-6384服務(wù)
創(chuàng)建集群
redis-trib.rb create --replicas 1 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384