[Redis] Replication
single master - multi slave ๊ตฌ์กฐ๋ก ๋ณต์ ๋ฅผ ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ์ ๊ฐ๋จํ ๋ค๋ฃฌ๋ค.
์ฐธ์กฐ
https://blog.naver.com/sssang97/223485062023
Redis ์๋ฒ ๊ตฌ์ฑ (Docket)
๋จผ์ docker๋ฅผ ํตํด์ ๋ ๋์ค ์๋ฒ๋ฅผ N๊ฐ ๋์๋ณด์.
sudo docker network create redis-network
sudo docker run --name master -d --network redis-network -p 44444:6379 redis
sudo docker run --name slave-1 -d --network redis-network -p 44443:6379 redis
sudo docker run --name slave-2 -d --network redis-network -p 44442:6379 redis
ํ๋๋ ๋ง์คํฐ๊ณ ๋๋จธ์ง๊ฐ slave ๋
ธ๋๋ค.
์ด๋ ๊ฒ ๋จ๋ฉด ์ ๋ฌ ๊ฒ์ด๊ณ
๊ฝ์์ ์ ์ํ์๋ ์ ๋๋ฉด ๋ ๊ฒ์ด๋ค.
๊ทธ๋ฆฌ๊ณ , slave๋ค์์ master ์ ์์ด ๋๋์ง๋ ํ์ธํด๋ณธ๋ค.
๊ฐ์ docker network๋ก ๋ฌถ์๊ธฐ ๋๋ฌธ์ "master" ํธ์คํธ๋ก ์ ์์ด ๊ฐ๋ฅํ๋ค.
Replication ์ ๋ณด ์กฐํ
info replication์ ์ฌ์ฉํ๋ฉด replication ๊ด๋ จ๋ ์ํ ์ ๋ณด๋ฅผ ํ์ธํ ์ ์๋ค.
master
slave1
slave2
Replication ๊ตฌ์ฑ
replication ๊ตฌ์ฑ์ ์์ธ๋ก ๊ฐ๋จํ๋ค.
slave ๋
ธ๋๋ค์ ๋ค์ด๊ฐ์, replicaof ๋ช
๋ น์ ์น๋ฉด ๋๋ค.
replicaof master 6379
๊ทธ๋ผ ์ ๋ ธ์๋ค์ด master ์๋ฒ๋ฅผ ๊ฐ๋ฆฌํค๊ฒ ๋๋ค.

ํ๋์ฉ ๋ฑ๋กํ๊ณ ์ข ๊ธฐ๋ค๋ฆฌ๋ฉด
์ ๋ณด๊ฐ ๋ฐ๋ ๊ฒ์ด๋ค.
master๋ connected_slave๊ฐ 2๊ฐ๊ฐ ๋จ๊ณ

slave๋ค์ master๊ฐ ์ฐ๊ฒฐ๋์ด์์์ ๋ณด์ฌ์ค๋ค.
๊ทธ๋ผ ์ด์
master์ ๋ฐ์ดํฐ๋ฅผ ์ฐ์ผ๋ฉด

๋ฐ๋ก๋ฐ๋ก slave์ ๋ณต์ ๋ ๊ฒ์ด๋ค.
๋จ, slave ๋
ธ๋๋ค์์๋ ์ฐ๊ธฐ ์์
์ด ๋ถ๊ฐ๋ฅํ๋ค. ์ผ๊ด์ฑ์ ์ํด์ ์ฝ๊ธฐ ์ ์ฉ์ผ๋ก๋ง ๋์ํ๋ค.
์ด ์ ๋๊ฐ ๊ธฐ๋ณธ์ผ๋ก ์ ๊ณตํ๋ Replication ๊ตฌ์ฑ์ด๋ค.
์๋ ์ฅ์ ๋ณต๊ตฌ๋ ๊ท๋ชจ ํ์ฅ์ฑ์ ๋๋ ค์ผ ํ๋ค๋ฉด Sentinel์ด๋ Clustering์ ์ง์ ๊ตฌ์ฑํด์ผ ํ๊ณ , ์ ๊ฒฝ์จ์ผํ ๊ฒ ๊ณฑ์ ๋ก ๋ง์์ง๋ค.
์ฐธ์กฐ
https://redis.io/docs/latest/operate/oss_and_stack/management/replication/