4 minute read

์„œ๋น„์Šค๋ฅผ ๊ฐœ๋ฐœํ•  ๋•Œ, ์„ฑ๋Šฅ์ ์ธ ๊ณ ๋ฏผ๋„ ๋ถ„๋ช… ํ•„์š”ํ•˜์ง€๋งŒ API ํ†ต์‹ ์— ์ด์šฉ๋˜๋Š” ๊ณ ๊ฐ์˜ ๋ฏผ๊ฐ์ •๋ณด๋ฅผ ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ๋” ์ž˜ ์ง€์ผœ๋‚ผ ์ˆ˜ ์žˆ์„์ง€๋„ ๋งค์šฐ ์ค‘์š”ํ•œ ๊ณ ๋ฏผ ํฌ์ธํŠธ์ด๋‹ค.

๊ฐ€๋ น, ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ–ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž.

Client ์—์„œ๋Š” ์œ ์ €์˜ id ์™€ password ๋ฅผ ๋ฐ›์€ ๋’ค, payload ์— ๋‹ด์•„ ๋กœ๊ทธ์ธ API ๋ฅผ ํ˜ธ์ถœํ•  ๊ฒƒ์ด๋‹ค.

๋ณดํ†ต ์•„๋ž˜์™€ ๊ฐ™์ด ๋น„๋ฐ€๋ฒˆํ˜ธ์™€ ๊ฐ™์€ ๋ฏผ๊ฐ์ •๋ณด๋“ค์€ masking ์ฒ˜๋ฆฌ๋˜์–ด ๋ณด์—ฌ์ง€๊ฒ ์ง€๋งŒ

image

๋ณ„๋„์˜ ๋ณด์•ˆ์ ์ธ ์ฒ˜๋ฆฌ๋ฅผ ํ•˜์ง€ ์•Š์œผ๋ฉด ๊ฐœ๋ฐœ์ž๋„๊ตฌ์˜ payload ์—์„œ rawdata ๊ฐ€ ์ „๋ถ€ ๋…ธ์ถœ๋œ๋‹ค.

๋ฐ˜๋Œ€๋กœ ์„œ๋ฒ„์—์„œ ํด๋ผ์ด์–ธํŠธ๋กœ ์ •๋ณด๋ฅผ ๋‚ด๋ ค์ค„ ๋•Œ, ๋ณด์•ˆ์ฒ˜๋ฆฌ๋ฅผ ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š์œผ๋ฉด

response ํƒญ์—์„œ ๋…ธ์ถœ๋˜๋ฉด ์•ˆ๋  ์ •๋ณด๊ฐ€ ๊ทธ๋Œ€๋กœ ๋…ธ์ถœ๋  ์ˆ˜ ์žˆ๋‹ค.

์ด๋Ÿฌํ•œ ์ƒํ™ฉ์„ ์ธ์ง€ํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด ๊ณ ๊ฐ์€ ์šฐ๋ฆฌ ์„œ๋น„์Šค๋ฅผ ๋ฏฟ๊ณ  ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ•  ์ˆ˜ ์žˆ๊ณ ,

๊ณ„์† ๋ฐฉ์น˜๋œ๋‹ค๋ฉด ๊ฐ€๋Šฅ์„ฑ์ด ๋‚ฎ๋”๋ผ๋„ ์‹ฌ๊ฐํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜๋„ ์žˆ๋‹ค.


์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์„๊นŒ?

์‚ฌ์‹ค ํ•ด๊ฒฐ๋ฒ•์€ ์‰ฝ๊ฒŒ ๋– ์˜ฌ๋ฆด ์ˆ˜ ์žˆ๋‹ค.

๋ฏผ๊ฐํ•œ ์ •๋ณด๋Š” ์ œ 3์ž๊ฐ€ ์•Œ ์ˆ˜ ์—†๋„๋ก ์•”ํ˜ธํ™” ์ฒ˜๋ฆฌํ•˜๋ฉด ๋œ๋‹ค.

๋Ÿฌํ”„ํ•˜๊ฒŒ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ •๋ฆฌํ•ด๋ณด์ž.

  • ํด๋ผ์ด์–ธํŠธ์—์„œ ๋ฏผ๊ฐ ์ •๋ณด๋ฅผ ์„œ๋ฒ„๋กœ ๋ณด๋‚ผ ๋•Œ์—๋Š” ์•”ํ˜ธํ™”ํ•˜๊ณ , ์„œ๋ฒ„์—์„œ ๋ณตํ˜ธํ™”ํ•œ ๋’ค ๋กœ์ง์„ ์ˆ˜ํ–‰ํ•˜์ž.

์œ„ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋งŒ์กฑํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ๊ธฐ์กด์— ์ œ๊ธฐํ•œ ๋ฌธ์ œ๋Š” ํ•ด๊ฒฐ๋  ๊ฒƒ์ด๋‹ค.

๋ฌธ์ œ๊ฐ€ ์ •์˜๋˜์—ˆ์œผ๋‹ˆ, ์–ด๋–ค ๋„๊ตฌ๋กœ ์ด๋ฅผ ํ•ด๊ฒฐํ•  ์ง€ ๊ณ ๋ฏผํ•ด๋ณด์ž.


์–ด๋–ค ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•  ๊ฒƒ์ธ๊ฐ€?

์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ํฌ๊ฒŒ ์•„๋ž˜์™€ ๊ฐ™์ด ๋ถ„๋ฅ˜๋œ๋‹ค.

1. ๋‹จ๋ฐฉํ–ฅ ์•”ํ˜ธํ™”
2. ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”
3. ๋น„๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”

๋‹จ๋ฐฉํ–ฅ ์•”ํ˜ธํ™”๋Š” plain text ๋ฅผ hashing ์ฒ˜๋ฆฌํ•˜๋ฉฐ, ๋ณตํ˜ธํ™”๋ฅผ ํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— password ์•”ํ˜ธํ™”์— ์ฃผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.

์šฐ๋ฆฌ๊ฐ€ ์ •์˜ํ•œ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋งŒ์กฑํ•˜๋ ค๋ฉด ๋ณตํ˜ธํ™”๊ฐ€ ๊ฐ€๋Šฅํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๋‹จ๋ฐฉํ–ฅ ์•”ํ˜ธํ™” ๋Š” ํ›„๋ณด์—์„œ ์ œ์™ธํ•œ๋‹ค.

๋‹ค์Œ์€ ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”, ๋น„๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”์ด๋‹ค.

๋Ÿฌํ”„ํ•˜๊ฒŒ ์„ค๋ช…ํ•˜๋ฉด,

  • ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”๋Š” ์•”ํ˜ธํ™” ํ•  ๋•Œ ์‚ฌ์šฉํ•œ key ๋กœ๋งŒ ๋ณตํ˜ธํ™”๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

image

๋Œ€ํ‘œ์ ์œผ๋กœ AES ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์žˆ๋‹ค.

  • ๋น„๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”๋Š” ์•”ํ˜ธํ™” ํ•  ๋•Œ ์‚ฌ์šฉํ•œ key ์™€ ๋ณตํ˜ธํ™”ํ•  ๋•Œ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ key ๋ฅผ ์„œ๋กœ ๋‹ค๋ฅด๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.

image

๋Œ€ํ‘œ์ ์œผ๋กœ RSA ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์žˆ๋‹ค.

๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”์™€ ๋น„๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”๋Š” ๋‘˜๋‹ค ๋ณตํ˜ธํ™”๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

๋‘˜ ์ค‘ ์–ด๋Š ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒŒ ์ข‹์„๊นŒ?

๊ตฌํ˜„ ๋‚œ์ด๋„๋Š” ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ธ AES ๊ฐ€ ๋น„๋Œ€์นญํ‚ค ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ธ RSA ๋ณด๋‹ค ํ›จ์”ฌ ์šฉ์ดํ•˜๋‹ค.

  • ( ์‹ฌ์ง€์–ด ํ”„๋กœ์ ํŠธ ๋‚ด์— AES Utility ํด๋ž˜์Šค๊ฐ€ ๊ตฌํ˜„๋˜์–ด ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ƒฅ ๊ฐ€์ ธ๋‹ค๊ฐ€ ์‚ฌ์šฉํ•˜๋ฉด ๋˜๋Š” ์ƒํ™ฉ์ด์—ˆ๋‹ค. )

๊ทธ๋Ÿผ์—๋„ RSA ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์„ ํƒํ•˜์˜€๋Š”๋ฐ, ๊ทธ ์ด์œ ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

1. ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”(AES)๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด key ๋ฅผ ๊ณต์œ ํ•ด์•ผ ํ•œ๋‹ค. Server side ์—์„œ๋Š” db ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์„œ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉด ๋˜์ง€๋งŒ Client side ์—์„œ๋Š” key ๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์ €์žฅํ•  ๊ณณ์ด ๋งˆ๋•…์น˜ ์•Š๋‹ค. 
2. ๋น„๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”(RSA)๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ™์€ key ๋ฅผ ๊ณต์œ ํ•  ํ•„์š”๊ฐ€ ์—†์–ด์ง„๋‹ค. ์•”ํ˜ธํ™”๋Š” ๋ˆ„๊ตฌ๋‚˜ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ๋ณตํ˜ธํ™”๋Š” ๋งˆ์Œ๋Œ€๋กœ ํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

์ดˆ๊ธฐ์— ์ •์˜ํ•œ ์š”๊ตฌ์‚ฌํ•ญ์„ RSA ์•”ํ˜ธํ™”๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•ด๋ณด์ž.

  • ํด๋ผ์ด์–ธํŠธ์—์„œ ๋ฏผ๊ฐ ์ •๋ณด๋ฅผ ์„œ๋ฒ„๋กœ ๋ณด๋‚ผ ๋•Œ์—๋Š” ์•”ํ˜ธํ™”ํ•˜๊ณ , ์„œ๋ฒ„์—์„œ ๋ณตํ˜ธํ™”ํ•œ ๋’ค ๋กœ์ง์„ ์ˆ˜ํ–‰ํ•˜์ž.
    • ํด๋ผ์ด์–ธํŠธ์—์„œ public key ๋กœ ์•”ํ˜ธํ™”ํ•˜์—ฌ ์„œ๋ฒ„์— ์š”์ฒญํ•˜๋ฉด, ์„œ๋ฒ„์—์„œ๋Š” ํ•ด๋‹น public key ์— ๋Œ€ํ•œ private key ๋ฅผ ์•Œ๊ณ ์žˆ์œผ๋ฉด, ๊ฐ€๋Šฅํ•˜๋‹ค.

์ฆ‰, ํด๋ผ์ด์–ธํŠธ์—์„œ public key ๋กœ ์•”ํ˜ธํ™”ํ•˜์—ฌ ์„œ๋ฒ„์— ์š”์ฒญํ•˜๋ฉด, ์„œ๋ฒ„์—์„œ๋Š” ํ•ด๋‹น public key ์— ๋Œ€ํ•œ private key ๋ฅผ ์•Œ๊ณ ์žˆ์œผ๋ฉด ๋œ๋‹ค.

๊ทธ๋Ÿผ ์–ด๋–ป๊ฒŒ ํ•  ์ˆ˜ ์žˆ์„๊นŒ?

๊ธฐ๋ณธ์ ์œผ๋กœ RSA keypair ๋Š” ์•ˆ์ „ํ•˜๊ฒŒ ์„œ๋ฒ„์—์„œ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒŒ ์ข‹์•„๋ณด์ธ๋‹ค.

๊ทธ๋Ÿผ ์•„๋ž˜์™€ ๊ฐ™์ด ํ•˜๋ฉด ์–ด๋–จ๊นŒ?

  1. ํด๋ผ์ด์–ธํŠธ์—์„œ ์•”ํ˜ธํ™” ํ•  ์ผ์ด ์ƒ๊ธด๋‹ค๋ฉด ์„œ๋ฒ„๋กœ RSA public key ๋ฅผ ํ•˜๋‚˜ ์š”์ฒญํ•œ๋‹ค.
  2. ์„œ๋ฒ„์—์„œ RSA Keypair ๋ฅผ ํ•˜๋‚˜ ์ƒ์„ฑํ•˜๊ณ , public key ๋ฅผ ๋‚ด๋ ค์ค€๋‹ค.
  3. ํด๋ผ์ด์–ธํŠธ์—์„œ public key ๋กœ ์•”ํ˜ธํ™”๋ฅผ ์ˆ˜ํ–‰ํ•œ ๋’ค, public key ์™€ ํ•จ๊ป˜ ์•”ํ˜ธ๋ฌธ์„ ์„œ๋ฒ„๋กœ ๋ณด๋‚ธ๋‹ค.
    • ์ด ๊ณผ์ •์—์„œ ์ œ 3 ์ž๊ฐ€ ํƒˆ์ทจํ•˜๋”๋ผ๋„ public key ์— ๋งค์นญ๋˜๋Š” private key ๋ฅผ ๋ชจ๋ฅด๋‹ˆ ์•ˆ์ „ํ•˜๋‹ค.
  4. ์„œ๋ฒ„์—์„œ๋Š” public key ์— ๋งค์นญ๋˜๋Š” private key ๋ฅผ ์ฐพ์•„์„œ ๋ณตํ˜ธํ™”ํ•œ ๋’ค ๋กœ์ง์„ ์ˆ˜ํ–‰ํ•œ๋’ค์— ํ•ด๋‹น key pair ๋ฅผ ์ œ๊ฑฐํ•œ๋‹ค.

์ด๋ฅผ ์œ„ํ•ด์„œ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์•”ํ˜ธํ™” ํ•œ public key ์— ๋Œ€ํ•œ private key ๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.

rdb ์— ์ €์žฅํ•ด๋‘˜ ์ˆ˜๋„ ์žˆ๊ฒ ์ง€๋งŒ, ์ธ๋ฉ”๋ชจ๋ฆฌ ๊ธฐ๋ฐ˜์œผ๋กœ ๋” ๋น ๋ฅธ I/O ๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ

ttl ์„ ์ง€์ •ํ• ์ˆ˜๋„ ์žˆ๊ณ  public key ์— ๋Œ€ํ•œ private key ๋ฅผ ์ฐพ๋Š” ์—ฐ์‚ฐ์ด

์ž์ฃผ ๋ฐœ์ƒํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜๋Š”๋ฐ,

key-value ํ˜•์‹์˜ data storage ์ธ redis ๊ฐ€ ๋” ์ ํ•ฉํ•˜๋‹ค๊ณ  ํŒ๋‹จํ•˜์˜€๋‹ค.

ํ•˜์ง€๋งŒ, ํ•˜๋‚˜๋งŒ ๋” ๊ณ ๋ คํ•ด๋ณด์ž.

์œ„ ๋ฐฉ๋ฒ•๋Œ€๋กœ๋ฉด ์š”์ฒญ๋งˆ๋‹ค ์„œ๋ฒ„์—์„œ RSA Keypair ๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•œ๋‹ค.

๊ทธ๋ ‡๊ฒŒ ํ•ด๋„ ๊ดœ์ฐฎ์„ ๋งŒํผ RSA Keypair ์ƒ์„ฑ ์—ฐ์‚ฐ์ด ๊ฐ€๋ฒผ์šด ์ง€ ์ฐพ์•„๋ณธ ๊ฒฐ๊ณผ,

Finding two large prime numbers	
  : O((log n)^2)
Computing the modulus	
  : O(log^2 n)
Computing modular inverses	
  : O(log^3 n)
Total
  : O((log n)^3)

๋Œ€๋žต O((log n)^3) ์ •๋„์ธ ๊ฒƒ ๊ฐ™๋‹ค. ( n = 1024, 2048, โ€ฆ )

๊ตณ์ด ๋งค ์š”์ฒญ๋งˆ๋‹ค RSA Keypair ๋ฅผ ์ƒˆ๋กœ ์ƒ์„ฑํ•ด๋„๋ก ํ•ด์•ผํ• ๊นŒ?

Thread pool ์ฒ˜๋Ÿผ RSA Keypair ๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ ์„œ๋ฒ„์—์„œ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด๋‘๊ณ 

ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ ์š”์ฒญ์ด ๋“ค์–ด์˜ค๋ฉด ํ•˜๋‚˜ ๋žœ๋คํ•˜๊ฒŒ pick ํ•ด์„œ ๋‚ด๋ ค์ฃผ๋Š” ๋ฐฉ๋ฒ•์€ ์–ด๋–จ๊นŒ?

๊ทธ๋Ÿฌ๋ฉด RSA Keypair ๋ฅผ ๋งค๋ฒˆ ์ƒˆ๋กญ๊ฒŒ ๋งŒ๋“œ๋Š” ๋ฐ์— ๋ฐœ์ƒํ•˜๋Š” cost ๋ฅผ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ๋‹ค.

image

  1. ํด๋ผ์ด์–ธํŠธ์—์„œ ์•”ํ˜ธํ™” ํ•  ์ผ์ด ์ƒ๊ธด๋‹ค๋ฉด ์„œ๋ฒ„๋กœ RSA public key ๋ฅผ ํ•˜๋‚˜ ์š”์ฒญํ•œ๋‹ค.
  2. ์„œ๋ฒ„์—์„œ๋Š” ๋ฏธ๋ฆฌ ์ƒ์„ฑํ•ด๋‘” RSA Keypair ์ค‘ ํ•˜๋‚˜๋ฅผ ๊ณจ๋ผ์„œ, public key ๋ฅผ ๋‚ด๋ ค์ค€๋‹ค.
  3. ํด๋ผ์ด์–ธํŠธ์—์„œ public key ๋กœ ์•”ํ˜ธํ™”๋ฅผ ์ˆ˜ํ–‰ํ•œ ๋’ค, public key ์™€ ํ•จ๊ป˜ ์•”ํ˜ธ๋ฌธ์„ ์„œ๋ฒ„๋กœ ๋ณด๋‚ธ๋‹ค.
    • ์ด ๊ณผ์ •์—์„œ ์ œ 3 ์ž๊ฐ€ ํƒˆ์ทจํ•˜๋”๋ผ๋„ public key ์— ๋งค์นญ๋˜๋Š” private key ๋ฅผ ๋ชจ๋ฅด๋‹ˆ ์•ˆ์ „ํ•˜๋‹ค.
  4. ์„œ๋ฒ„์—์„œ๋Š” public key ์— ๋งค์นญ๋˜๋Š” private key ๋ฅผ ์ฐพ์•„์„œ ๋ณตํ˜ธํ™”ํ•˜์—ฌ ์ดํ›„ ๋กœ์ง์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

ํ•˜์ง€๋งŒ ๋˜.. ํ•˜๋‚˜ ๋” ๊ณ ๋ คํ•ด์•ผํ•  ์ ์ด ์žˆ๋‹ค.

์œ„ ๋กœ์ง์€ Redis ์— ์ƒ๋‹นํ•œ ์˜์กด๋„๋ฅผ ๊ฐ€์ง„๋‹ค.

๋งŒ์•ฝ Redis ์„œ๋ฒ„๊ฐ€ ๋‹ค์šด๋œ๋‹ค๋ฉด?

์ด์— ๋Œ€ํ•œ ๊ณ ๋ ค๊ฐ€ ์ „ํ˜€ ๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฏ€๋กœ, Redis ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” API ์—์„œ ๋ชจ๋‘ ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฒƒ์ด๋‹ค.

Redis ์„œ๋ฒ„๊ฐ€ ๋‹ค์šด๋˜๋Š” ์ƒํ™ฉ์ด ํ”์น˜ ์•Š๋‹ค๊ณ ๋Š” ํ•˜์ง€๋งŒ ๊ฐ€๋Šฅ์„ฑ์ด ์—†๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์ƒํ™ฉ๊นŒ์ง€ ์ปค๋ฒ„ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ?

Redis ์„œ๋ฒ„๊ฐ€ ์ •์ƒ์ ์ด์ง€ ์•Š์€ ๊ฒฝ์šฐ์— ๋Œ€ํ•ด์„œ๋„ ์ž˜ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋„๋ก

๋ณ„๋„์˜ fallback ์„ ํŒŒ๋‘์–ด์•ผ ํ•œ๋‹ค.

์ด๋ฅผ Circuit breaker ์ด๋ผ๊ณ  ํ•˜๋ฉฐ, ํ•ด๋‹น ๋‚ด์šฉ์€ ๋ณ„๋„์˜ ํฌ์ŠคํŒ…์—์„œ ๋‹ค๋ฃจ๋ ค๊ณ  ํ•œ๋‹ค.


References

  • https://www.baeldung.com/java-rsa
  • https://www.geeksforgeeks.org/how-to-generate-large-prime-numbers-for-rsa-algorithm/
  • https://dev.gmarket.com/47

Categories:

Updated:

Leave a comment