Redis์—์„œ Redis ํด๋Ÿฌ์Šคํ„ฐ๋กœ ์ด๋™ ์ •๋ณด

Redis์—์„œ Redis ํด๋Ÿฌ์Šคํ„ฐ๋กœ ์ด๋™ ์ •๋ณด

10๋…„์ด ๋„˜๋Š” ์‹œ๊ฐ„ ๋™์•ˆ ๊ฐœ๋ฐœํ•ด์˜จ ์ œํ’ˆ์„ ์ƒ๊ฐํ•ด๋ณด๋ฉด, ๊ทธ ์†์—์„œ ๋‚ก์€ ๊ธฐ์ˆ ์ด ๋ฐœ๊ฒฌ๋˜๋Š” ๊ฒƒ์€ ์ „ํ˜€ ๋†€๋ผ์šด ์ผ์ด ์•„๋‹™๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ XNUMX๊ฐœ์›” ์•ˆ์— ํ•˜์ค‘์„ XNUMX๋ฐฐ ๋” ๋†’๊ฒŒ ์œ ์ง€ํ•ด์•ผ ํ•˜๊ณ , ์ถ”๋ฝ์œผ๋กœ ์ธํ•œ ๋น„์šฉ์ด ์ˆ˜๋ฐฑ ๋ฐฐ ์ฆ๊ฐ€ํ•œ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”? ์ด ๊ฒฝ์šฐ์—๋Š” ๋ฉ‹์ง„ ํ•˜์ด๋กœ๋“œ ์—”์ง€๋‹ˆ์–ด๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ฐ€์ •๋ถ€๊ฐ€ ์—†์œผ๋ฉด ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ๋‚˜์—๊ฒŒ ๋งก๊ฒผ์Šต๋‹ˆ๋‹ค. ๊ธฐ์‚ฌ์˜ ์ฒซ ๋ฒˆ์งธ ๋ถ€๋ถ„์—์„œ๋Š” Redis์—์„œ Redis-cluster๋กœ ์ด๋™ํ•œ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•˜๊ณ , ๋‘ ๋ฒˆ์งธ ๋ถ€๋ถ„์—์„œ๋Š” ํด๋Ÿฌ์Šคํ„ฐ ์‚ฌ์šฉ์„ ์‹œ์ž‘ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์‚ฌ์šฉ ์‹œ ์ฃผ์˜ํ•  ์‚ฌํ•ญ์— ๋Œ€ํ•œ ์กฐ์–ธ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ์ˆ ์„ ํƒ

๊ทธ๋ ‡๊ฒŒ ๋‚˜์œ๊ฐ€์š”? ๋ณ„๋„์˜ Redis (๋…๋ฆฝํ˜• Redis) 1๊ฐœ์˜ ๋งˆ์Šคํ„ฐ์™€ N๊ฐœ์˜ ์Šฌ๋ ˆ์ด๋ธŒ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๊นŒ? ์™œ ๊ทธ๊ฒƒ์„ ์“ธ๋ชจ์—†๋Š” ๊ธฐ์ˆ ์ด๋ผ๊ณ  ๋ถ€๋ฅด๋Š”๊ฐ€?

์•„๋‹ˆ์š”, Redis๋Š” ๊ทธ๋ ‡๊ฒŒ ๋‚˜์˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค... ํ•˜์ง€๋งŒ ๋ฌด์‹œํ•  ์ˆ˜ ์—†๋Š” ๋ช‡ ๊ฐ€์ง€ ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ฒซ์งธ, Redis๋Š” ๋งˆ์Šคํ„ฐ ์žฅ์•  ํ›„ ์žฌํ•ด ๋ณต๊ตฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์šฐ๋ฆฌ๋Š” VIP๋ฅผ ์ƒˆ ๋งˆ์Šคํ„ฐ๋กœ ์ž๋™ ์ „์†กํ•˜์—ฌ ์Šฌ๋ ˆ์ด๋ธŒ ์ค‘ ํ•˜๋‚˜์˜ ์—ญํ• ์„ ๋ณ€๊ฒฝํ•˜๊ณ  ๋‚˜๋จธ์ง€๋ฅผ ์ „ํ™˜ํ•˜๋Š” ๊ตฌ์„ฑ์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ ํšจ๊ณผ๊ฐ€ ์žˆ์—ˆ์ง€๋งŒ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์†”๋ฃจ์…˜์ด๋ผ๊ณ  ํ•  ์ˆ˜๋Š” ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ์ฒซ์งธ, ํ—ˆ์œ„ ๊ฒฝ๋ณด๊ฐ€ ๋ฐœ์ƒํ–ˆ๊ณ  ๋‘˜์งธ, ์ผํšŒ์šฉ์ด์—ˆ๊ณ  ์ž‘๋™ ํ›„ ์Šคํ”„๋ง์„ ์ถฉ์ „ํ•˜๊ธฐ ์œ„ํ•ด ์ˆ˜๋™ ์กฐ์น˜๊ฐ€ ํ•„์š”ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ๋‘˜์งธ, ๋งˆ์Šคํ„ฐ๊ฐ€ ํ•˜๋‚˜๋งŒ ์žˆ์œผ๋ฉด ์ƒค๋”ฉ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” "1๊ฐœ์˜ ๋งˆ์Šคํ„ฐ์™€ N๊ฐœ์˜ ์Šฌ๋ ˆ์ด๋ธŒ"๋ผ๋Š” ๋…๋ฆฝ์ ์ธ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ ์ƒ์„ฑํ•œ ๋‹ค์Œ ์ด๋Ÿฌํ•œ ์‹œ์Šคํ…œ์— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ˆ˜๋™์œผ๋กœ ๋ฐฐํฌํ•˜๊ณ  ๋‚ด์ผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ค‘ ํ•˜๋‚˜๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์ด ๋Š˜์–ด๋‚˜์„œ ๋ณ„๋„์˜ ์ธ์Šคํ„ด์Šค๋กœ ์ด๋™ํ•ด์•ผ ํ•˜์ง€ ์•Š๊ธฐ๋ฅผ ๋ฐ”๋ž์Šต๋‹ˆ๋‹ค.

์˜ต์…˜์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

  • ๊ฐ€์žฅ ๋น„์‹ธ๊ณ  ํ’๋ถ€ํ•œ ์†”๋ฃจ์…˜์€ Redis-Enterprise์ž…๋‹ˆ๋‹ค. ์ด๋Š” ์™„์ „ํ•œ ๊ธฐ์ˆ  ์ง€์›์ด ํฌํ•จ๋œ ๋ฐ•์Šคํ˜• ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค. ๊ธฐ์ˆ ์ ์ธ ๊ด€์ ์—์„œ๋Š” ์ด์ƒ์ ์œผ๋กœ ๋ณด์ด์ง€๋งŒ ์ด๋…์ ์ธ ์ด์œ ๋กœ ์šฐ๋ฆฌ์—๊ฒŒ๋Š” ์ ํ•ฉํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
  • Redis ํด๋Ÿฌ์Šคํ„ฐ. ๊ธฐ๋ณธ์ ์œผ๋กœ ๋งˆ์Šคํ„ฐ ์žฅ์•  ์กฐ์น˜ ๋ฐ ์ƒค๋”ฉ์ด ์ง€์›๋ฉ๋‹ˆ๋‹ค. ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์ผ๋ฐ˜ ๋ฒ„์ „๊ณผ ๊ฑฐ์˜ ๋‹ค๋ฅด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์œ ๋งํ•ด ๋ณด์ด์ง€๋งŒ ๋‚˜์ค‘์— ํ•จ์ •์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
  • Tarantool, Memcache, Aerospike ๋“ฑ. ์ด ๋ชจ๋“  ๋„๊ตฌ๋Š” ๊ฑฐ์˜ ๋™์ผํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ฐ๊ฐ์—๋Š” ๊ณ ์œ ํ•œ ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋ชจ๋“  ๊ณ„๋ž€์„ ํ•œ ๋ฐ”๊ตฌ๋‹ˆ์— ๋‹ด์ง€ ์•Š๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋‹ค๋ฅธ ์ž‘์—…์— Memcache์™€ Tarantool์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์•ž์œผ๋กœ ์‹ค์ œ๋กœ๋Š” ๋” ๋งŽ์€ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๊ณ  ๋งํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์‚ฌ์šฉ ์„ธ๋ถ€ ์‚ฌํ•ญ

์—ญ์‚ฌ์ ์œผ๋กœ Redis๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์–ด๋–ค ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์œผ๋ฉฐ ์–ด๋–ค ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ–ˆ๋Š”์ง€ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

  • 2GIS์™€ ๊ฐ™์€ ์›๊ฒฉ ์„œ๋น„์Šค์— ์š”์ฒญํ•˜๊ธฐ ์ „์— ์บ์‹œ | ๊ณจ๋ž‘

    GET SET MGET MSET "SELECT DB"

  • MYSQL ์ด์ „์˜ ์บ์‹œ | PHP

    GET SET MGET MSET ์Šค์บ” "ํ‚ค๋ณ„ ํŒจํ„ด" "SELECT DB"

  • ์„ธ์…˜ ๋ฐ ๋“œ๋ผ์ด๋ฒ„ ์ขŒํ‘œ ์ž‘์—… ์„œ๋น„์Šค๋ฅผ ์œ„ํ•œ ๋ฉ”์ธ ์Šคํ† ๋ฆฌ์ง€ | ๊ณจ๋ž‘

    GET SET MGET MSET "DB ์„ ํƒ" "GEO ํ‚ค ์ถ”๊ฐ€" "GEO ํ‚ค ๊ฐ€์ ธ์˜ค๊ธฐ" ์Šค์บ”

๋ณด์‹œ๋‹ค์‹œํ”ผ ๋” ๋†’์€ ์ˆ˜ํ•™์€ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์–ด๋ ค์›€์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ๊ฐ ๋ฐฉ๋ฒ•์„ ๊ฐœ๋ณ„์ ์œผ๋กœ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ฐฉ๋ฒ•
๊ธฐ์ˆ 
Redis ํด๋Ÿฌ์Šคํ„ฐ์˜ ํŠน์ง•
๊ฒฐ์ •

GET SET
์“ฐ๊ธฐ/์ฝ๊ธฐ ํ‚ค

MGET MSET
์—ฌ๋Ÿฌ ํ‚ค ์“ฐ๊ธฐ/์ฝ๊ธฐ
ํ‚ค๋Š” ๋‹ค๋ฅธ ๋…ธ๋“œ์— ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์„ฑ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ํ•˜๋‚˜์˜ ๋…ธ๋“œ ๋‚ด์—์„œ๋งŒ ๋‹ค์ค‘ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
MGET์„ N GET ์ž‘์—…์˜ ํŒŒ์ดํ”„๋ผ์ธ์œผ๋กœ ๋Œ€์ฒด

DB ์„ ํƒ
์šฐ๋ฆฌ๊ฐ€ ์ž‘์—…ํ•  ๋ฒ ์ด์Šค๋ฅผ ์„ ํƒํ•˜์„ธ์š”
์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค
๋ชจ๋“  ๊ฒƒ์„ ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋‹ด์œผ์„ธ์š”. ํ‚ค์— ์ ‘๋‘์‚ฌ ์ถ”๊ฐ€

์ฃผ์‚ฌ
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ชจ๋“  ํ‚ค๋ฅผ ์‚ดํŽด๋ณด์„ธ์š”.
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ํ•˜๋‚˜์ด๋ฏ€๋กœ ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋ชจ๋“  ํ‚ค๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ๋น„์šฉ์ด ๋„ˆ๋ฌด ๋งŽ์ด ๋“ญ๋‹ˆ๋‹ค.
ํ•˜๋‚˜์˜ ํ‚ค ๋‚ด์—์„œ ๋ถˆ๋ณ€์„ฑ์„ ์œ ์ง€ํ•˜๊ณ  ์ด ํ‚ค์— ๋Œ€ํ•ด HSCAN์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์•„๋‹ˆ๋ฉด ์™„์ „ํžˆ ๊ฑฐ์ ˆํ•˜์„ธ์š”.

GEO
Geokey๋ฅผ ์‚ฌ์šฉํ•œ ์ž‘์—…
Geokey๋Š” ์ƒค๋”ฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํŒจํ„ด๋ณ„ ํ‚ค
ํŒจํ„ด์œผ๋กœ ํ‚ค ๊ฒ€์ƒ‰
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ํ•˜๋‚˜์ด๋ฏ€๋กœ ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋ชจ๋“  ํ‚ค๋ฅผ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. ๋„ˆ๋ฌด ๋น„์‹ผ
SCAN์˜ ๊ฒฝ์šฐ์ฒ˜๋Ÿผ ๋ถˆ๋ณ€์„ฑ์„ ๊ฑฐ๋ถ€ํ•˜๊ฑฐ๋‚˜ ์œ ์ง€ํ•˜์‹ญ์‹œ์˜ค.

Redis ๋Œ€ Redis ํด๋Ÿฌ์Šคํ„ฐ

ํด๋Ÿฌ์Šคํ„ฐ๋กœ ์ „ํ™˜ํ•˜๋ฉด ๋ฌด์—‡์„ ์žƒ๊ณ  ๋ฌด์—‡์„ ์–ป์Šต๋‹ˆ๊นŒ?

  • ๋‹จ์ : ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ธฐ๋Šฅ์ด ์†์‹ค๋ฉ๋‹ˆ๋‹ค.
    • ๋…ผ๋ฆฌ์ ์œผ๋กœ ๊ด€๋ จ์ด ์—†๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜์˜ ํด๋Ÿฌ์Šคํ„ฐ์— ์ €์žฅํ•˜๋ ค๋ฉด ์ ‘๋‘์‚ฌ ํ˜•ํƒœ๋กœ ๋ชฉ๋ฐœ์„ ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    • SCAN, DBSIZE, CLEAR DB ๋“ฑ๊ณผ ๊ฐ™์€ ๋ชจ๋“  "๊ธฐ๋ณธ" ์ž‘์—…์ด ์†์‹ค๋ฉ๋‹ˆ๋‹ค.
    • ๋‹ค์ค‘ ์ž‘์—…์€ ์—ฌ๋Ÿฌ ๋…ธ๋“œ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๊ฐ€ ํ•„์š”ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ตฌํ˜„ํ•˜๊ธฐ๊ฐ€ ํ›จ์”ฌ ๋” ์–ด๋ ค์›Œ์กŒ์Šต๋‹ˆ๋‹ค.
  • ์žฅ์  :
    • ๋งˆ์Šคํ„ฐ ์žฅ์•  ์กฐ์น˜ ํ˜•ํƒœ์˜ ๋‚ด๊ฒฐํ•จ์„ฑ.
    • Redis ์ธก์˜ ์ƒค๋”ฉ.
    • ๊ฐ€๋™ ์ค‘์ง€ ์‹œ๊ฐ„ ์—†์ด ์›์ž์ ์œผ๋กœ ๋…ธ๋“œ ๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.
    • ๊ฐ€๋™ ์ค‘์ง€ ์‹œ๊ฐ„ ์—†์ด ์šฉ๋Ÿ‰๊ณผ ๋กœ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์žฌ๋ถ„๋ฐฐํ•ฉ๋‹ˆ๋‹ค.

๋†’์€ ์ˆ˜์ค€์˜ ๋‚ด๊ฒฐํ•จ์„ฑ์„ ์ œ๊ณตํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค๋ฉด ํด๋Ÿฌ์Šคํ„ฐ๋กœ ์ด๋™ํ•˜๋Š” ๊ฒƒ์€ ๊ทธ๋‹ค์ง€ ๊ฐ€์น˜๊ฐ€ ์—†๋‹ค๋Š” ๊ฒฐ๋ก ์„ ๋‚ด๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ์ด๋Š” ์‚ฌ์†Œํ•œ ์ž‘์—…์ด ๋  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ฒ˜์Œ์— ๋ณ„๋„ ๋ฒ„์ „๊ณผ ํด๋Ÿฌ์Šคํ„ฐ ๋ฒ„์ „ ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ๋” ๋‚˜์˜์ง€ ์•Š๊ณ  ๊ณจ์น˜ ์•„ํ”ˆ ๋ฌธ์ œ๋„ ์™„ํ™”ํ•ด ์ฃผ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์ด์‚ฌ ์ค€๋น„ ์ค‘

์ด์‚ฌ ์š”๊ตฌ ์‚ฌํ•ญ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

  • ๊ทธ๊ฒƒ์€ ์›ํ™œํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. 5๋ถ„ ๋™์•ˆ ์„œ๋น„์Šค๊ฐ€ ์™„์ „ํžˆ ์ค‘๋‹จ๋˜๋Š” ๊ฒƒ์€ ์šฐ๋ฆฌ์—๊ฒŒ ์ ํ•ฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ๊ฐ€๋Šฅํ•œ ํ•œ ์•ˆ์ „ํ•˜๊ณ  ์ ์ง„์ ์œผ๋กœ ์ง„ํ–‰๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ƒํ™ฉ์„ ์–ด๋Š ์ •๋„ ํ†ต์ œํ•˜๊ณ  ์‹ถ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋ชจ๋“  ๊ฒƒ์„ ํ•œ๊บผ๋ฒˆ์— ๋ฒ„๋ฆฌ๊ณ  ๋กค๋ฐฑ ๋ฒ„ํŠผ์„ ๋†“๊ณ  ๊ธฐ๋„ํ•˜๊ณ  ์‹ถ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ์ด๋™ ์‹œ ๋ฐ์ดํ„ฐ ์†์‹ค์ด ์ตœ์†Œํ™”๋ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์›์ž์ ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ฒƒ์ด ๋งค์šฐ ์–ด๋ ต๋‹ค๋Š” ๊ฒƒ์„ ์ดํ•ดํ•˜๋ฏ€๋กœ ์ผ๋ฐ˜ Redis์™€ ํด๋Ÿฌ์Šคํ„ฐํ˜• Redis์˜ ๋ฐ์ดํ„ฐ ๊ฐ„์— ์•ฝ๊ฐ„์˜ ๋น„๋™๊ธฐํ™”๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.

ํด๋Ÿฌ์Šคํ„ฐ ์œ ์ง€ ๊ด€๋ฆฌ

์ด๋™ํ•˜๊ธฐ ์ง์ „์— ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์ง€์›ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์ƒ๊ฐํ•ด ๋ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ์ฐจํŠธ. ์šฐ๋ฆฌ๋Š” Prometheus์™€ Grafana๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ CPU ๋กœ๋“œ, ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰, ํด๋ผ์ด์–ธํŠธ ์ˆ˜, GET, SET, AUTH ์ž‘์—… ์ˆ˜ ๋“ฑ์„ ๊ทธ๋ž˜ํ”„๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
  • ์ „๋ฌธ์  ์ง€์‹. ๋‚ด์ผ ๋‹น์‹ ์ด ์ฑ…์ž„์ง€๋Š” ๊ฑฐ๋Œ€ํ•œ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ฐ–๊ฒŒ ๋  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ์ƒํ•ด ๋ณด์‹ญ์‹œ์˜ค. ๊ณ ์žฅ๋‚˜๋ฉด ๋‹น์‹  ์™ธ์—๋Š” ๋ˆ„๊ตฌ๋„ ๊ณ ์น  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฐ€ ์†๋„๋ฅผ ๋Šฆ์ถ”๊ธฐ ์‹œ์ž‘ํ•˜๋ฉด ๋ชจ๋‘๊ฐ€ ๋‹น์‹ ์„ ํ–ฅํ•ด ๋‹ฌ๋ ค๊ฐˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฆฌ์†Œ์Šค๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๋กœ๋“œ๋ฅผ ์žฌ๋ถ„๋ฐฐํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ๋‹ค์‹œ ์—ฐ๋ฝํ•˜์„ธ์š”. 25์„ธ์— ํšŒ์ƒ‰์œผ๋กœ ๋ณ€ํ•˜์ง€ ์•Š์œผ๋ ค๋ฉด ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ๋ฅผ ์ œ๊ณตํ•˜๊ณ  ํŠน์ • ์ž‘์—…์—์„œ ๊ธฐ์ˆ ์ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ๋ฏธ๋ฆฌ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์ด์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ "์ „๋ฌธ ์ง€์‹" ์„น์…˜์—์„œ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
  • ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ๊ฒฝ๊ณ . ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ์ค‘๋‹จ๋˜๋ฉด ๊ฐ€์žฅ ๋จผ์ € ์ด์— ๋Œ€ํ•ด ์•Œ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” ๋ชจ๋“  ๋…ธ๋“œ๊ฐ€ ํด๋Ÿฌ์Šคํ„ฐ ์ƒํƒœ์— ๋Œ€ํ•ด ๋™์ผํ•œ ์ •๋ณด๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค๋Š” ์•Œ๋ฆผ์œผ๋กœ ์ œํ•œํ–ˆ์Šต๋‹ˆ๋‹ค(์˜ˆ, ๋‹ค๋ฅด๊ฒŒ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค). ๊ทธ๋ฆฌ๊ณ  Redis ํด๋ผ์ด์–ธํŠธ ์„œ๋น„์Šค์˜ ๊ฒฝ๊ณ ๋ฅผ ํ†ตํ•ด ๋‹ค๋ฅธ ๋ฌธ์ œ๋ฅผ ๋” ๋นจ๋ฆฌ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์žฌ๋ฐฐ์น˜

์šฐ๋ฆฌ๊ฐ€ ์–ด๋–ป๊ฒŒ ์›€์ง์ผ ๊ฒƒ์ธ๊ฐ€:

  • ๋จผ์ €, ํด๋Ÿฌ์Šคํ„ฐ์™€ ์—ฐ๋™ํ•  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ค€๋น„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” go-redis๋ฅผ Go ๋ฒ„์ „์˜ ๊ธฐ๋ฐ˜์œผ๋กœ ์‚ผ์•„ ์šฐ๋ฆฌ์—๊ฒŒ ๋งž๊ฒŒ ์•ฝ๊ฐ„ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค. ํŒŒ์ดํ”„๋ผ์ธ์„ ํ†ตํ•ด ๋‹ค์ค‘ ๋ฉ”์„œ๋“œ๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ  ์š”์ฒญ ๋ฐ˜๋ณต ๊ทœ์น™๋„ ์•ฝ๊ฐ„ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. PHP ๋ฒ„์ „์—๋Š” ๋” ๋งŽ์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ์ง€๋งŒ ๊ฒฐ๊ตญ php-redis๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ตœ๊ทผ์— ํด๋Ÿฌ์Šคํ„ฐ ์ง€์›์„ ๋„์ž…ํ–ˆ๋Š”๋ฐ ์šฐ๋ฆฌ ์˜๊ฒฌ์œผ๋กœ๋Š” ์ข‹์•„ ๋ณด์ž…๋‹ˆ๋‹ค.
  • ๋‹ค์Œ์œผ๋กœ ํด๋Ÿฌ์Šคํ„ฐ ์ž์ฒด๋ฅผ ๋ฐฐํฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋ฌธ์ž ๊ทธ๋Œ€๋กœ ๊ตฌ์„ฑ ํŒŒ์ผ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ๋‘ ๊ฐ€์ง€ ๋ช…๋ น์œผ๋กœ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ์„ค์ •์— ๋Œ€ํ•ด์„œ๋Š” ์•„๋ž˜์—์„œ ๋” ์ž์„ธํžˆ ๋‹ค๋ฃจ๊ฒ ์Šต๋‹ˆ๋‹ค.
  • ์ ์ง„์ ์ธ ์ด๋™์„ ์œ„ํ•ด ๊ฑด์กฐ ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋™์ผํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ฐ€์ง„ ๋‘ ๊ฐ€์ง€ ๋ฒ„์ „์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(ํ•˜๋‚˜๋Š” ์ผ๋ฐ˜ ๋ฒ„์ „์šฉ, ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” ํด๋Ÿฌ์Šคํ„ฐ์šฉ)๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ๋ณ„๋„์˜ ๋ฒ„์ „์—์„œ ์ž‘๋™ํ•˜๊ณ  ๋ชจ๋“  ์š”์ฒญ์„ ํด๋Ÿฌ์Šคํ„ฐ์— ๋ณ‘๋ ฌ๋กœ ๋ณต์ œํ•˜๋Š” ๋ž˜ํผ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ ๋น„์šฉ์ด ๋“ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‘๋‹ต์„ ๋น„๊ตํ•˜๊ณ  ๋กœ๊ทธ์— ๋ถˆ์ผ์น˜๋ฅผ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค(์ด ๊ฒฝ์šฐ NewRelic). ๋”ฐ๋ผ์„œ ๋กค์•„์›ƒ ์ค‘์— ํด๋Ÿฌ์Šคํ„ฐ ๋ฒ„์ „์ด ์ค‘๋‹จ๋˜๋”๋ผ๋„ ํ”„๋กœ๋•์…˜์—๋Š” ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ฑด์กฐ ๋ชจ๋“œ๋กœ ๋กค์•„์›ƒํ•œ ํ›„ ์‘๋‹ต ๋ถˆ์ผ์น˜ ๊ทธ๋ž˜ํ”„๋ฅผ ์นจ์ฐฉํ•˜๊ฒŒ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋ฅ˜์œจ์ด ๋Š๋ฆฌ์ง€๋งŒ ํ™•์‹คํ•˜๊ฒŒ ์ž‘์€ ์ƒ์ˆ˜ ์ชฝ์œผ๋กœ ์ด๋™ํ•œ๋‹ค๋ฉด ๋ชจ๋“  ๊ฒƒ์ด ์ •์ƒ์ž…๋‹ˆ๋‹ค. ์™œ ์—ฌ์ „ํžˆ ๋ถˆ์ผ์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ? ๋ณ„๋„์˜ ๋ฒ„์ „์œผ๋กœ์˜ ๊ธฐ๋ก์€ ํด๋Ÿฌ์Šคํ„ฐ๋ณด๋‹ค ์กฐ๊ธˆ ๋” ์ผ์ฐ ์ด๋ฃจ์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์—, ๋งˆ์ดํฌ๋กœ๋ž™์œผ๋กœ ์ธํ•ด ๋ฐ์ดํ„ฐ๊ฐ€ ์—‡๊ฐˆ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚จ์€ ๊ฒƒ์€ ๋ถˆ์ผ์น˜ ๋กœ๊ทธ๋ฅผ ์‚ดํŽด๋ณด๋Š” ๊ฒƒ๋ฟ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ถˆ์ผ์น˜ ๋กœ๊ทธ๊ฐ€ ๋ชจ๋‘ ๋ ˆ์ฝ”๋“œ์˜ ๋น„์›์ž์„ฑ์œผ๋กœ ์„ค๋ช…๋˜๋ฉด ๊ณ„์† ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ด์ œ ๊ฑด์กฐ ๋ชจ๋“œ๋ฅผ ๋ฐ˜๋Œ€ ๋ฐฉํ–ฅ์œผ๋กœ ์ „ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์“ฐ๊ณ  ์ฝ๊ณ  ์ด๋ฅผ ๋ณ„๋„์˜ ๋ฒ„์ „์œผ๋กœ ๋ณต์ œํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฌด์—‡์„ ์œ„ํ•ด? ๋‹ค์Œ ์ฃผ ๋™์•ˆ ๋‚˜๋Š” ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ž‘์—…์„ ๊ด€์ฐฐํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๊ฐ‘์ž๊ธฐ ์ตœ๋Œ€ ๋ถ€ํ•˜์— ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ๋ฐํ˜€์ง€๊ฑฐ๋‚˜ ๋ฌด์–ธ๊ฐ€๋ฅผ ๊ณ ๋ คํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ๊ฑด์กฐ ๋ชจ๋“œ ๋•๋ถ„์— ํ•ญ์ƒ ์ด์ „ ์ฝ”๋“œ์™€ ํ˜„์žฌ ๋ฐ์ดํ„ฐ๋กœ ๊ธด๊ธ‰ ๋กค๋ฐฑ๋ฉ๋‹ˆ๋‹ค.
  • ๋‚จ์€ ๊ฒƒ์€ ๊ฑด์กฐ ๋ชจ๋“œ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  ๋ณ„๋„ ๋ฒ„์ „์„ ๋ถ„ํ•ดํ•˜๋Š” ๊ฒƒ๋ฟ์ž…๋‹ˆ๋‹ค.

์ „๋ฌธ์  ์ง€์‹

๋จผ์ € ํด๋Ÿฌ์Šคํ„ฐ ๋””์ž์ธ์— ๋Œ€ํ•ด ๊ฐ„๋žตํžˆ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์šฐ์„  Redis๋Š” ํ‚ค-๊ฐ’ ์ €์žฅ์†Œ์ž…๋‹ˆ๋‹ค. ์ž„์˜์˜ ๋ฌธ์ž์—ด์ด ํ‚ค๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ˆซ์ž, ๋ฌธ์ž์—ด, ์ „์ฒด ๊ตฌ์กฐ๋ฅผ ๊ฐ’์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ›„์ž๊ฐ€ ๋งŽ์ด ์žˆ์ง€๋งŒ ์ผ๋ฐ˜์ ์ธ ๊ตฌ์กฐ๋ฅผ ์ดํ•ดํ•˜๋Š” ๋ฐ ์ด๊ฒƒ์€ ์šฐ๋ฆฌ์—๊ฒŒ ์ค‘์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
ํ‚ค ๋‹ค์Œ ์ถ”์ƒํ™” ์ˆ˜์ค€์€ ์Šฌ๋กฏ(SLOTS)์ž…๋‹ˆ๋‹ค. ๊ฐ ํ‚ค๋Š” 16๊ฐœ ์Šฌ๋กฏ ์ค‘ ํ•˜๋‚˜์— ์†ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ์Šฌ๋กฏ ์•ˆ์—๋Š” ์›ํ•˜๋Š” ๋งŒํผ์˜ ํ‚ค๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ชจ๋“  ํ‚ค๋Š” 383๊ฐœ์˜ ๋ถ„๋ฆฌ๋œ ์„ธํŠธ๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค.
Redis์—์„œ Redis ํด๋Ÿฌ์Šคํ„ฐ๋กœ ์ด๋™ ์ •๋ณด

๋‹ค์Œ์œผ๋กœ ํด๋Ÿฌ์Šคํ„ฐ์—๋Š” N๊ฐœ์˜ ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ๋…ธ๋“œ๋Š” ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด์˜ ๋‹ค๋ฅธ ๋…ธ๋“œ์— ๋Œ€ํ•œ ๋ชจ๋“  ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ๋Š” ๋ณ„๋„์˜ Redis ์ธ์Šคํ„ด์Šค๋กœ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ์—๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์Šฌ๋กฏ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ์Šฌ๋กฏ์€ ํ•˜๋‚˜์˜ ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ์—๋งŒ ์†ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ์Šฌ๋กฏ์€ ๋…ธ๋“œ ๊ฐ„์— ๋ถ„์‚ฐ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ถ€ ์Šฌ๋กฏ์ด ํ• ๋‹น๋˜์ง€ ์•Š์œผ๋ฉด ํ•ด๋‹น ์Šฌ๋กฏ์— ์ €์žฅ๋œ ํ‚ค์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋ณ„๋„์˜ ๋…ผ๋ฆฌ์  ๋˜๋Š” ๋ฌผ๋ฆฌ์  ๋จธ์‹ ์—์„œ ๊ฐ ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด ํ•ฉ๋ฆฌ์ ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ๊ฐ ๋…ธ๋“œ๋Š” ํ•˜๋‚˜์˜ ์ฝ”์–ด์—์„œ๋งŒ ์‹คํ–‰๋œ๋‹ค๋Š” ์ ์„ ๊ธฐ์–ตํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋™์ผํ•œ ๋…ผ๋ฆฌ์  ์‹œ์Šคํ…œ์—์„œ ์—ฌ๋Ÿฌ Redis ์ธ์Šคํ„ด์Šค๋ฅผ ์‹คํ–‰ํ•˜๋ ค๋ฉด ์„œ๋กœ ๋‹ค๋ฅธ ์ฝ”์–ด์—์„œ ์‹คํ–‰๋˜๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”(์‹œ๋„ํ•˜์ง€๋Š” ์•Š์•˜์ง€๋งŒ ์ด๋ก ์ ์œผ๋กœ๋Š” ์ž‘๋™ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค). . ๊ธฐ๋ณธ์ ์œผ๋กœ ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ๋Š” ์ผ๋ฐ˜ ์ƒค๋”ฉ์„ ์ œ๊ณตํ•˜๊ณ , ๋” ๋งŽ์€ ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์“ฐ๊ธฐ ๋ฐ ์ฝ๊ธฐ ์š”์ฒญ์„ ํ™•์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  ํ‚ค๊ฐ€ ์Šฌ๋กฏ์— ๋ถ„๋ฐฐ๋˜๊ณ  ์Šฌ๋กฏ์ด ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ์— ๋ถ„์‚ฐ๋œ ํ›„ ๊ฐ ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ์— ์ž„์˜ ์ˆ˜์˜ ์Šฌ๋ ˆ์ด๋ธŒ ๋…ธ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฐ ๋งˆ์Šคํ„ฐ-์Šฌ๋ ˆ์ด๋ธŒ ๋งํฌ ๋‚ด์—์„œ ์ผ๋ฐ˜ ๋ณต์ œ๊ฐ€ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ฝ๊ธฐ ์š”์ฒญ์„ ํ™•์žฅํ•˜๊ณ  ๋งˆ์Šคํ„ฐ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ ์žฅ์•  ์กฐ์น˜๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ ค๋ฉด ์Šฌ๋ ˆ์ด๋ธŒ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
Redis์—์„œ Redis ํด๋Ÿฌ์Šคํ„ฐ๋กœ ์ด๋™ ์ •๋ณด

์ด์ œ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด ๋” ๋‚˜์€ ์ž‘์—…์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

Redis-CLI๋ฅผ ํ†ตํ•ด ์‹œ์Šคํ…œ์— ์•ก์„ธ์Šคํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. Redis์—๋Š” ๋‹จ์ผ ์ง„์ž…์ ์ด ์—†์œผ๋ฏ€๋กœ ๋ชจ๋“  ๋…ธ๋“œ์—์„œ ๋‹ค์Œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ์ง€์ ์—์„œ ๋‚˜๋Š” ๋ถ€ํ•˜๊ฐ€ ๊ฑธ๋ฆฐ ์ƒํƒœ์—์„œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ๊ฐ€๋Šฅ์„ฑ์— ๋Œ€ํ•ด ๋ณ„๋„๋กœ ์ฃผ๋ชฉํ•ฉ๋‹ˆ๋‹ค.

  • ์šฐ๋ฆฌ์—๊ฒŒ ํ•„์š”ํ•œ ์ฒซ ๋ฒˆ์งธ์ด์ž ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ ํด๋Ÿฌ์Šคํ„ฐ ๋…ธ๋“œ ์ž‘์—…์ž…๋‹ˆ๋‹ค. ํด๋Ÿฌ์Šคํ„ฐ ์ƒํƒœ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ  ๋…ธ๋“œ ๋ชฉ๋ก, ์—ญํ• , ์Šฌ๋กฏ ๋ถ„ํฌ ๋“ฑ์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ํด๋Ÿฌ์Šคํ„ฐ ์ •๋ณด ๋ฐ ํด๋Ÿฌ์Šคํ„ฐ ์Šฌ๋กฏ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋” ๋งŽ์€ ์ •๋ณด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋…ธ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์œผ๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ํด๋Ÿฌ์Šคํ„ฐ ์ถฉ์กฑ ๋ฐ ํด๋Ÿฌ์Šคํ„ฐ ์‚ญ์ œ ์ž‘์—…์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํด๋Ÿฌ์Šคํ„ฐ ์‚ญ์ œ๋Š” ๋งˆ์Šคํ„ฐ์™€ ๋ณต์ œ๋ณธ ๋ชจ๋‘ ๋ชจ๋“  ๋…ธ๋“œ์— ์ ์šฉ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํด๋Ÿฌ์Šคํ„ฐ ๋ชจ์ž„์€ ํ•˜๋‚˜์˜ ๋…ธ๋“œ์—์„œ๋งŒ ํ˜ธ์ถœํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ด ์ฐจ์ด์ ์€ ๋‹นํ™ฉ์Šค๋Ÿฌ์šธ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์ „์— ์ด์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ข‹์Šต๋‹ˆ๋‹ค. ๋…ธ๋“œ ์ถ”๊ฐ€๋Š” ์ „ํˆฌ ์ค‘์— ์•ˆ์ „ํ•˜๊ฒŒ ์ˆ˜ํ–‰๋˜๋ฉฐ ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ๋“  ํด๋Ÿฌ์Šคํ„ฐ ์ž‘๋™์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค(๋…ผ๋ฆฌ์ ์ž„). ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ๋…ธ๋“œ๋ฅผ ์ œ๊ฑฐํ•˜๋ ค๋ฉด ํ•ด๋‹น ๋…ธ๋“œ์— ์Šฌ๋กฏ์ด ๋‚จ์•„ ์žˆ์ง€ ์•Š์€์ง€ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์ด ๋…ธ๋“œ์˜ ๋ชจ๋“  ํ‚ค์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์žƒ์„ ์œ„ํ—˜์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์Šฌ๋ ˆ์ด๋ธŒ๊ฐ€ ์žˆ๋Š” ๋งˆ์Šคํ„ฐ๋ฅผ ์‚ญ์ œํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์ƒˆ ๋งˆ์Šคํ„ฐ์— ๋Œ€ํ•œ ๋ถˆํ•„์š”ํ•œ ํˆฌํ‘œ๊ฐ€ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ๋…ธ๋“œ์— ๋” ์ด์ƒ ์Šฌ๋กฏ์ด ์—†๋‹ค๋ฉด ์ด๋Š” ์ž‘์€ ๋ฌธ์ œ์ด์ง€๋งŒ ๋จผ์ € ์Šฌ๋ ˆ์ด๋ธŒ๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ถ”๊ฐ€ ์„ ํƒ์ด ํ•„์š”ํ•œ ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?
  • ๋งˆ์Šคํ„ฐ์™€ ์Šฌ๋ ˆ์ด๋ธŒ ์œ„์น˜๋ฅผ ๊ฐ•์ œ๋กœ ๋ฐ”๊ฟ”์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ํด๋Ÿฌ์Šคํ„ฐ ์žฅ์•  ์กฐ์น˜ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ „ํˆฌ์—์„œ ํ˜ธ์ถœํ•  ๋•Œ๋Š” ์ž‘์ „ ์ค‘์—๋Š” ๋งˆ์Šคํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค๋Š” ์ ์„ ์ดํ•ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์ „ํ™˜์€ XNUMX์ดˆ ์ด๋‚ด์— ๋ฐœ์ƒํ•˜์ง€๋งŒ ์›์ž์ ์ด์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ์ด ์‹œ๊ฐ„ ๋™์•ˆ ๋งˆ์Šคํ„ฐ์— ๋Œ€ํ•œ ์ผ๋ถ€ ์š”์ฒญ์ด ์‹คํŒจํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ๋…ธ๋“œ๋ฅผ ์ œ๊ฑฐํ•˜๊ธฐ ์ „์— ๋…ธ๋“œ์— ์Šฌ๋กฏ์ด ๋‚จ์•„ ์žˆ์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. Cluster reshard ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์žฌ๋ฐฐํฌํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์Šฌ๋กฏ์€ ํ•œ ๋งˆ์Šคํ„ฐ์—์„œ ๋‹ค๋ฅธ ๋งˆ์Šคํ„ฐ๋กœ ์ „์†ก๋ฉ๋‹ˆ๋‹ค. ์ „์ฒด ์ž‘์—…์€ ์ „์†ก๋˜๋Š” ๋ฐ์ดํ„ฐ์˜ ์–‘์— ๋”ฐ๋ผ ๋ช‡ ๋ถ„ ์ •๋„ ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์ง€๋งŒ ์ „์†ก ํ”„๋กœ์„ธ์Šค๋Š” ์•ˆ์ „ํ•˜๋ฉฐ ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ๋“  ํด๋Ÿฌ์Šคํ„ฐ ์ž‘์—…์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋Š” ๊ฐ€์šฉ์„ฑ์— ๋Œ€ํ•œ ๊ฑฑ์ • ์—†์ด ๋ถ€ํ•˜๊ฐ€ ๊ฑธ๋ฆฐ ์ƒํƒœ์—์„œ ํ•œ ๋…ธ๋“œ์—์„œ ๋‹ค๋ฅธ ๋…ธ๋“œ๋กœ ์ง์ ‘ ์ „์†กํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ฏธ๋ฌ˜ํ•จ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒซ์งธ, ๋ฐ์ดํ„ฐ ์ „์†ก์€ ์ˆ˜์‹ ์ž ๋ฐ ๋ฐœ์‹ ์ž ๋…ธ๋“œ์˜ ํŠน์ • ๋ถ€ํ•˜์™€ ๊ด€๋ จ๋ฉ๋‹ˆ๋‹ค. ์ˆ˜์‹ ์ž ๋…ธ๋“œ๊ฐ€ ์ด๋ฏธ ํ”„๋กœ์„ธ์„œ์— ๊ณผ๋„ํ•˜๊ฒŒ ๋กœ๋“œ๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ ์ƒˆ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์‹ ํ•˜๋ฉด์„œ ์ด๋ฅผ ๋กœ๋“œํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ๋‘˜์งธ, ๋ณด๋‚ด๋Š” ๋งˆ์Šคํ„ฐ์— ์Šฌ๋กฏ์ด ํ•˜๋‚˜๋„ ๋‚จ์ง€ ์•Š์œผ๋ฉด ๋ชจ๋“  ์Šฌ๋ ˆ์ด๋ธŒ๊ฐ€ ์ฆ‰์‹œ ์ด ์Šฌ๋กฏ์ด ์ „์†ก๋œ ๋งˆ์Šคํ„ฐ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฌธ์ œ๋Š” ์ด ๋ชจ๋“  ์Šฌ๋ ˆ์ด๋ธŒ๊ฐ€ ๋™์‹œ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋™๊ธฐํ™”ํ•˜๊ธฐ๋ฅผ ์›ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์™„์ „ํ•œ ๋™๊ธฐํ™”๊ฐ€ ์•„๋‹Œ ๋ถ€๋ถ„์ ์ธ ๋™๊ธฐํ™”๋ผ๋ฉด ์šด์ด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ์Šฌ๋กฏ ์ „์†ก ์ž‘์—…๊ณผ ์Šฌ๋ ˆ์ด๋ธŒ ๋น„ํ™œ์„ฑํ™”/์ „์†ก ์ž‘์—…์„ ๊ฒฐํ•ฉํ•˜์„ธ์š”. ์•„๋‹ˆ๋ฉด ์ถฉ๋ถ„ํ•œ ์•ˆ์ „ ์—ฌ์œ ๊ฐ€ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.
  • ์ „์†ก ์ค‘์— ์–ด๋”˜๊ฐ€์—์„œ ์Šฌ๋กฏ์„ ์žƒ์–ด๋ฒ„๋ฆฐ ๊ฒƒ์„ ๋ฐœ๊ฒฌํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? ์ด ๋ฌธ์ œ๊ฐ€ ๊ท€ํ•˜์—๊ฒŒ ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ๋งŒ์•ฝ ๊ทธ๋ ‡๋‹ค๋ฉด ํด๋Ÿฌ์Šคํ„ฐ ์ˆ˜์ • ์ž‘์—…์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ตœ์†Œํ•œ ๊ทธ๋…€๋Š” ๋ฌด์ž‘์œ„ ์ˆœ์„œ๋กœ ๋…ธ๋“œ ์ „์ฒด์— ์Šฌ๋กฏ์„ ๋ถ„์‚ฐ์‹œํ‚ฌ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋จผ์ € ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ๋ถ„์‚ฐ๋œ ์Šฌ๋กฏ์ด ์žˆ๋Š” ๋…ธ๋“œ๋ฅผ ์ œ๊ฑฐํ•˜์—ฌ ์ž‘๋™์„ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ํ• ๋‹น๋˜์ง€ ์•Š์€ ์Šฌ๋กฏ์˜ ๋ฐ์ดํ„ฐ๋Š” ์ด๋ฏธ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ํ•ด๋‹น ์Šฌ๋กฏ์˜ ๊ฐ€์šฉ์„ฑ ๋ฌธ์ œ๋ฅผ ๊ฑฑ์ •ํ•˜๊ธฐ์—๋Š” ๋„ˆ๋ฌด ๋Šฆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ์ž‘์—…์€ ๋ถ„์‚ฐ๋œ ์Šฌ๋กฏ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ๋˜ ๋‹ค๋ฅธ ์œ ์šฉํ•œ ์ž‘์—…์€ ๋ชจ๋‹ˆํ„ฐ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋…ธ๋“œ๋กœ ์ด๋™ํ•˜๋Š” ์ „์ฒด ์š”์ฒญ ๋ชฉ๋ก์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€, ์ด๋ฅผ grepํ•˜์—ฌ ํ•„์š”ํ•œ ํŠธ๋ž˜ํ”ฝ์ด ์žˆ๋Š”์ง€ ์•Œ์•„๋‚ผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๋งˆ์Šคํ„ฐ ์žฅ์•  ์กฐ์น˜(failover) ์ ˆ์ฐจ๋„ ์–ธ๊ธ‰ํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์š”์ปจ๋Œ€ ๊ทธ๊ฒƒ์€ ์กด์žฌํ•˜๋ฉฐ ์ œ ์ƒ๊ฐ์—๋Š” ํ›Œ๋ฅญํ•˜๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ๊ฐ€ ์žˆ๋Š” ์‹œ์Šคํ…œ์—์„œ ์ „์› ์ฝ”๋“œ๋ฅผ ๋ฝ‘์œผ๋ฉด Redis๊ฐ€ ์ฆ‰์‹œ ์ „ํ™˜๋˜์–ด ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์†์‹ค์„ ์ธ์‹ํ•˜์ง€ ๋ชปํ•  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ์‹ค์ œ๋กœ๋Š” ๋ช‡ ์ดˆ ์•ˆ์— ์ „ํ™˜์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ด ์‹œ๊ฐ„ ๋™์•ˆ ์ผ๋ถ€ ๋ฐ์ดํ„ฐ๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋งˆ์Šคํ„ฐ์˜ ๊ฐ€์šฉ์„ฑ์ด ๊ฐ์ง€๋˜๊ณ , ๋…ธ๋“œ๊ฐ€ ์ƒˆ ๋…ธ๋“œ์— ํˆฌํ‘œํ•˜๊ณ , ์Šฌ๋ ˆ์ด๋ธŒ๊ฐ€ ์ „ํ™˜๋˜๊ณ , ๋ฐ์ดํ„ฐ๊ฐ€ ๋™๊ธฐํ™”๋ฉ๋‹ˆ๋‹ค. ๊ณ„ํš์ด ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์€ ํ˜„์ง€ ํ›ˆ๋ จ์„ ์‹ค์‹œํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋…ธํŠธ๋ถ์—์„œ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์˜ฌ๋ฆฌ๊ณ , ์ตœ์†Œํ•œ์˜ ๋กœ๋“œ๋ฅผ ์ œ๊ณตํ•˜๊ณ , ์ถฉ๋Œ์„ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•˜๊ณ (์˜ˆ: ํฌํŠธ ์ฐจ๋‹จ) ์ „ํ™˜ ์†๋„๋ฅผ ํ‰๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ œ ์ƒ๊ฐ์—๋Š” ์ด๋Ÿฐ ๋ฐฉ์‹์œผ๋กœ ํ•˜๋ฃจ ์ดํ‹€ ํ”Œ๋ ˆ์ด๋ฅผ ํ•ด๋ด์•ผ๋งŒ ๊ธฐ์ˆ ์˜ ์ž‘๋™์— ์ž์‹ ๊ฐ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ธ€์Ž„, ์•„๋‹ˆ๋ฉด ์ธํ„ฐ๋„ท์˜ ์ ˆ๋ฐ˜์ด ์‚ฌ์šฉํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ์•„๋งˆ๋„ ์ž‘๋™ํ•˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

๊ตฌ์„ฑ

๋„๊ตฌ ์ž‘์—…์„ ์‹œ์ž‘ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ€์žฅ ๋จผ์ € ๊ตฌ์„ฑ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์œผ๋ฉฐ, ๋ชจ๋“  ๊ฒƒ์ด ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋ฉด ๊ตฌ์„ฑ์„ ๊ฑด๋“œ๋ฆฌ๊ณ  ์‹ถ์ง€๋„ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฐ•์ œ๋กœ ์„ค์ •์œผ๋กœ ๋Œ์•„๊ฐ€์„œ ์ฃผ์˜ ๊นŠ๊ฒŒ ์‚ดํŽด๋ณด๋ ค๋ฉด ์•ฝ๊ฐ„์˜ ๋…ธ๋ ฅ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋‚ด ๊ธฐ์–ต์œผ๋กœ๋Š” ๊ตฌ์„ฑ์— ๋Œ€ํ•œ ๋ถ€์ฃผ์˜๋กœ ์ธํ•ด ์ ์–ด๋„ ๋‘ ๋ฒˆ ์ •๋„ ์‹ฌ๊ฐํ•œ ์‹คํŒจ๊ฐ€ ์žˆ์—ˆ๋˜ ๊ฒƒ์œผ๋กœ ๊ธฐ์–ต๋ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ์‚ฌํ•ญ์— ํŠน๋ณ„ํ•œ ์ฃผ์˜๋ฅผ ๊ธฐ์šธ์ด์‹ญ์‹œ์˜ค.

  • 0 ์‹œ๊ฐ„ ์ดˆ๊ณผ
    ๋น„ํ™œ์„ฑ ์—ฐ๊ฒฐ์ด ๋‹ซํžŒ ํ›„์˜ ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค. 0 - ๋‹ซ์ง€ ์•Š์Œ
    ์šฐ๋ฆฌ์˜ ๋ชจ๋“  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์—ฐ๊ฒฐ์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋‹ซ์„ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ์ด ์„ค์ •์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๋ฉด ํด๋ผ์ด์–ธํŠธ ์ˆ˜ ์ œํ•œ์— ๋„๋‹ฌํ•  ์œ„ํ—˜์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด์— ๊ทธ๋Ÿฌํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ๋Š์–ด์ง„ ์—ฐ๊ฒฐ์ด ์ž๋™์œผ๋กœ ์ข…๋ฃŒ๋˜์–ด ์ด๋ฅผ ๊ฐ€๋ ค์„œ ์šฐ๋ฆฌ๊ฐ€ ์•Œ์•„์ฐจ๋ฆฌ์ง€ ๋ชปํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ง€์† ์—ฐ๊ฒฐ์„ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ์ด ์„ค์ •์„ ํ™œ์„ฑํ™”ํ•˜๋ฉด ์•ˆ ๋ฉ๋‹ˆ๋‹ค.
  • xy ์ €์žฅ ๋ฐ ์ถ”๊ฐ€๋งŒ ๊ฐ€๋Šฅ ์˜ˆ
    RDB ์Šค๋ƒ…์ƒท์„ ์ €์žฅํ•˜๋Š” ์ค‘์ž…๋‹ˆ๋‹ค.
    ์•„๋ž˜์—์„œ RDB/AOF ๋ฌธ์ œ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ๋…ผ์˜ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
  • stop-writes-on-bgsave-error no & ์Šฌ๋ ˆ์ด๋ธŒ ์„œ๋น„์Šค ๋ถ€์‹ค ๋ฐ์ดํ„ฐ ์˜ˆ
    ํ™œ์„ฑํ™”๋œ ๊ฒฝ์šฐ RDB ์Šค๋ƒ…์ƒท์ด ์ค‘๋‹จ๋˜๋ฉด ๋งˆ์Šคํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ ์š”์ฒญ ์ˆ˜๋ฝ์„ ์ค‘์ง€ํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์Šคํ„ฐ์™€์˜ ์—ฐ๊ฒฐ์ด ๋Š์–ด์ง€๋ฉด ์Šฌ๋ ˆ์ด๋ธŒ๋Š” ๊ณ„์†ํ•ด์„œ ์š”์ฒญ์— ์‘๋‹ตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์˜ˆ). ์•„๋‹ˆ๋ฉด ์‘๋‹ต์„ ์ค‘์ง€ํ•ฉ๋‹ˆ๋‹ค(์•„๋‹ˆ์š”).
    ์šฐ๋ฆฌ๋Š” Redis๊ฐ€ ํ˜ธ๋ฐ•์œผ๋กœ ๋ณ€ํ•˜๋Š” ์ƒํ™ฉ์— ๋งŒ์กฑํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • repl-ping-๋…ธ์˜ˆ-๊ธฐ๊ฐ„ 5
    ์ด ๊ธฐ๊ฐ„์ด ์ง€๋‚˜๋ฉด ๋งˆ์Šคํ„ฐ๊ฐ€ ๊ณ ์žฅ๋‚ฌ๋Š”์ง€ ๊ฑฑ์ •ํ•˜๊ธฐ ์‹œ์ž‘ํ•˜๊ณ  ์žฅ์•  ์กฐ์น˜(failover) ์ ˆ์ฐจ๋ฅผ ์ˆ˜ํ–‰ํ•  ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค.
    ๊ฑฐ์ง“ ๊ธ์ •๊ณผ ์žฅ์•  ์กฐ์น˜ ํŠธ๋ฆฌ๊ฑฐ ๊ฐ„์˜ ๊ท ํ˜•์„ ์ˆ˜๋™์œผ๋กœ ์ฐพ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ๋Š” 5์ดˆ์ž…๋‹ˆ๋‹ค.
  • repl-๋ฐฑ๋กœ๊ทธ ํฌ๊ธฐ 1024mb ๋ฐ epl-๋ฐฑ๋กœ๊ทธ-ttl 0
    ์‹คํŒจํ•œ ๋ณต์ œ๋ณธ์— ๋Œ€ํ•ด ์ •ํ™•ํžˆ ์ด๋งŒํผ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฒ„ํผ์— ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฒ„ํผ๊ฐ€ ๋ถ€์กฑํ•˜๋ฉด ์™„์ „ํžˆ ๋™๊ธฐํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    ์‹ค์Šต์— ๋”ฐ๋ฅด๋ฉด ๋” ๋†’์€ ๊ฐ’์„ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ๋” ์ข‹์Šต๋‹ˆ๋‹ค. ๋ณต์ œ๋ณธ์ด ์ง€์—ฐ๋˜๊ธฐ ์‹œ์ž‘ํ•˜๋Š” ๋ฐ๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ด์œ ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ง€์—ฐ๋œ๋‹ค๋ฉด ๋งˆ์Šคํ„ฐ๊ฐ€ ์ด๋ฏธ ๋Œ€์ฒ˜ํ•˜๊ธฐ ์œ„ํ•ด ๊ณ ๊ตฐ๋ถ„ํˆฌํ•˜๊ณ  ์žˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์œผ๋ฉฐ ์ „์ฒด ๋™๊ธฐํ™”๊ฐ€ ๋งˆ์ง€๋ง‰ ์ง€ํ‘ธ๋ผ๊ธฐ๊ฐ€ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • ์ตœ๋Œ€ ํด๋ผ์ด์–ธํŠธ 10000
    ์ผํšŒ์„ฑ ํด๋ผ์ด์–ธํŠธ์˜ ์ตœ๋Œ€ ์ˆ˜์ž…๋‹ˆ๋‹ค.
    ๊ฒฝํ—˜์ƒ ๋” ๋†’์€ ๊ฐ’์„ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. Redis๋Š” 10๊ฐœ์˜ ์—ฐ๊ฒฐ์„ ์ž˜ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์— ์ถฉ๋ถ„ํ•œ ์†Œ์ผ“์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.
  • ์ตœ๋Œ€ ๋ฉ”๋ชจ๋ฆฌ ์ •์ฑ… ํœ˜๋ฐœ์„ฑ-ttl
    ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ์— ๋„๋‹ฌํ•˜๋ฉด ํ‚ค๊ฐ€ ์‚ญ์ œ๋˜๋Š” ๊ทœ์น™์ž…๋‹ˆ๋‹ค.
    ์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ ๊ฒƒ์€ ๊ทœ์น™ ์ž์ฒด๊ฐ€ ์•„๋‹ˆ๋ผ ์ด๊ฒƒ์ด ์–ด๋–ป๊ฒŒ ์ผ์–ด๋‚  ๊ฒƒ์ธ์ง€์— ๋Œ€ํ•œ ์ดํ•ด์ž…๋‹ˆ๋‹ค. Redis๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ์— ๋„๋‹ฌํ–ˆ์„ ๋•Œ ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•˜๋Š” ๋Šฅ๋ ฅ์œผ๋กœ ์นญ์ฐฌ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

RDB ๋ฐ AOF ๋ฌธ์ œ

Redis ์ž์ฒด๋Š” ๋ชจ๋“  ์ •๋ณด๋ฅผ RAM์— ์ €์žฅํ•˜์ง€๋งŒ ๋ฐ์ดํ„ฐ๋ฅผ ๋””์Šคํฌ์— ์ €์žฅํ•˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณด๋‹ค ์ •ํ™•ํ•˜๊ฒŒ๋Š” ์„ธ ๊ฐ€์ง€ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ž…๋‹ˆ๋‹ค.

  • RDB-์Šค๋ƒ…์ƒท - ๋ชจ๋“  ๋ฐ์ดํ„ฐ์˜ ์™„์ „ํ•œ ์Šค๋ƒ…์ƒท์ž…๋‹ˆ๋‹ค. SAVE XY ๊ตฌ์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ์„ค์ •ํ•˜๊ณ  "์ตœ์†Œ Y ํ‚ค๊ฐ€ ๋ณ€๊ฒฝ๋œ ๊ฒฝ์šฐ X์ดˆ๋งˆ๋‹ค ๋ชจ๋“  ๋ฐ์ดํ„ฐ์˜ ์ „์ฒด ์Šค๋ƒ…์ƒท์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค."๋ผ๊ณ  ์ฝ์Šต๋‹ˆ๋‹ค.
  • ์ถ”๊ฐ€ ์ „์šฉ ํŒŒ์ผ - ์ˆ˜ํ–‰๋˜๋Š” ์ˆœ์„œ์— ๋”ฐ๋ฅธ ์ž‘์—… ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค. X์ดˆ๋งˆ๋‹ค ๋˜๋Š” Y ์ž‘์—…๋งˆ๋‹ค ํŒŒ์ผ์— ์ƒˆ ์ˆ˜์‹  ์ž‘์—…์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
  • RDB์™€ AOF๋Š” ์ด์ „ ๋‘ ๊ฐ€์ง€์˜ ์กฐํ•ฉ์ž…๋‹ˆ๋‹ค.

๋ชจ๋“  ๋ฐฉ๋ฒ•์—๋Š” ์žฅ์ ๊ณผ ๋‹จ์ ์ด ์žˆ์œผ๋ฏ€๋กœ ๋ชจ๋‘ ๋‚˜์—ดํ•˜์ง€๋Š” ์•Š๊ฒ ์Šต๋‹ˆ๋‹ค. ์ œ ์ƒ๊ฐ์—๋Š” ๋ช…ํ™•ํ•˜์ง€ ์•Š์€ ์ ๋งŒ ๊ฐ•์กฐํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๋จผ์ €, RDB ์Šค๋ƒ…์ƒท์„ ์ €์žฅํ•˜๋ ค๋ฉด FORK๋ฅผ ํ˜ธ์ถœํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์œผ๋ฉด ๋ช‡ ๋ฐ€๋ฆฌ์ดˆ์—์„œ ๋ช‡ ์ดˆ ๋™์•ˆ ๋ชจ๋“  Redis๊ฐ€ ์ค‘๋‹จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์‹œ์Šคํ…œ์€ ์ด๋Ÿฌํ•œ ์Šค๋ƒ…์ƒท์„ ์œ„ํ•ด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๋…ผ๋ฆฌ ๋จธ์‹ ์—์„œ RAM์„ ๋‘ ๋ฐฐ๋กœ ๊ณต๊ธ‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Redis์— 8GB๊ฐ€ ํ• ๋‹น๋œ ๊ฒฝ์šฐ ๊ฐ€์ƒ ๋จธ์‹ ์—์„œ๋Š” 16GB๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ.

๋‘˜์งธ, ๋ถ€๋ถ„ ๋™๊ธฐํ™”์— ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. AOF ๋ชจ๋“œ์—์„œ๋Š” ์Šฌ๋ ˆ์ด๋ธŒ๊ฐ€ ๋‹ค์‹œ ์—ฐ๊ฒฐ๋  ๋•Œ ๋ถ€๋ถ„ ๋™๊ธฐํ™”๊ฐ€ ์•„๋‹Œ ์ „์ฒด ๋™๊ธฐํ™”๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์™œ ์ด๋Ÿฐ ์ผ์ด ์ผ์–ด๋‚˜๋Š”์ง€ ์ดํ•ดํ•  ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๊ฒƒ์„ ๊ธฐ์–ตํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๋‘ ๊ฐ€์ง€ ์ ์€ ๋ชจ๋“  ๊ฒƒ์ด ์ด๋ฏธ ์Šฌ๋ ˆ์ด๋ธŒ์— ์˜ํ•ด ๋ณต์ œ๋œ ๊ฒฝ์šฐ ๋””์Šคํฌ์— ์ด ๋ฐ์ดํ„ฐ๊ฐ€ ์ •๋ง๋กœ ํ•„์š”ํ•œ์ง€ ์—ฌ๋ถ€๋ฅผ ์ƒ๊ฐํ•˜๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ๋ชจ๋“  ์Šฌ๋ ˆ์ด๋ธŒ๊ฐ€ ์‹คํŒจํ•˜๋Š” ๊ฒฝ์šฐ์—๋งŒ ๋ฐ์ดํ„ฐ๊ฐ€ ์†์‹ค๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ด๋Š” "DC ํ™”์žฌ" ์ˆ˜์ค€์˜ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์ ˆ์ถฉ์•ˆ์œผ๋กœ ์Šฌ๋ ˆ์ด๋ธŒ์—๋งŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋„๋ก ์ œ์•ˆํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ด ๊ฒฝ์šฐ ์žฌํ•ด ๋ณต๊ตฌ ์ค‘์— ์ด๋Ÿฌํ•œ ์Šฌ๋ ˆ์ด๋ธŒ๊ฐ€ ๋งˆ์Šคํ„ฐ๊ฐ€ ๋˜์ง€ ์•Š๋„๋ก ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(์ด๋ฅผ ์œ„ํ•ด ๊ตฌ์„ฑ์— ์Šฌ๋ ˆ์ด๋ธŒ ์šฐ์„ ์ˆœ์œ„ ์„ค์ •์ด ์žˆ์Šต๋‹ˆ๋‹ค). ์šฐ๋ฆฌ๋Š” ๊ฐ๊ฐ์˜ ํŠน์ • ๊ฒฝ์šฐ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋””์Šคํฌ์— ์ €์žฅํ•  ํ•„์š”๊ฐ€ ์žˆ๋Š”์ง€ ์ƒ๊ฐํ•˜๋ฉฐ ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ๋Œ€๋‹ต์€ "์•„๋‹ˆ์˜ค"์ž…๋‹ˆ๋‹ค.

๊ฒฐ๋ก 

๊ฒฐ๋ก ์ ์œผ๋กœ, redis-cluster์— ๋Œ€ํ•ด ์ „ํ˜€ ๋“ค์–ด๋ณด์ง€ ๋ชปํ•œ ๋ถ„๋“ค์—๊ฒŒ๋Š” redis-cluster๊ฐ€ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ์ผ๋ฐ˜์ ์ธ ์•„์ด๋””์–ด๋ฅผ ์ค„ ์ˆ˜ ์žˆ์—ˆ์œผ๋ฉด ์ข‹๊ฒ ๊ณ , ์‚ฌ์šฉํ•ด ๋ณด์‹  ๋ถ„๋“ค์—๊ฒŒ๋Š” ๋ช‡ ๊ฐ€์ง€ ๋ถˆ๋ช…ํ™•ํ•œ ์ ์— ๋Œ€ํ•ด์„œ๋„ ๊ด€์‹ฌ์„ ๋Œ ์ˆ˜ ์žˆ์—ˆ์œผ๋ฉด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค. ์˜ค๋žซ๋™์•ˆ.
์‹œ๊ฐ„์„ ๋‚ด์ฃผ์…”์„œ ๊ฐ์‚ฌ๋“œ๋ฆฌ๋ฉฐ, ์–ธ์ œ๋‚˜ ๊ทธ๋ ‡๋“ฏ์ด ํ•ด๋‹น ์ฃผ์ œ์— ๋Œ€ํ•œ ์˜๊ฒฌ์„ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€