์ฌ์ฉ์๋ค์ด ์ฒ์์ผ๋ก ๋ง์ฃผํ ์๋น์ค, ๋ก๊ทธ์ธ.
๋ก๊ทธ์ธ์ด ๊ธฐ์ด์ด์, ๋ณด์์ด ๊ฑธ๋ ค ์๊ณ , ์์ฑ๋๋ฅผ ์ข์ฐํ๋ค.
ํ๋ถ์์ ์ ๊ทธ๋ฅ~ input์ผ๋ก ์ ํ ์คํธ๋ฅผ ๋ฃ๊ณ , ๋์ถฉ ์ธ์ฆ๋ฐ์ ํ์ง๋ง, ์ค์ ์๋น์ค๋ ๋ฌ๋๋ค. ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ๋ฐ์ ๋ณด๊ดํ๋ ๋งํผ, ์ค์ํ ๊ณต์ง๋ฅผ ๋ ๋ ค์ผ ํ๊ธฐ ๋๋ฌธ์ ์ฐ๋ฝ์ฒ, ๋ฉ์ผ ๋ฑ์ ์ ์ํด์ผ ํ๊ณ , ์ํธํ ํด์ผํ๋ค. ๋, ์๋น์ค๋ฅผ ๋ฐฐํฌํ๋ฉด์ ๊ฐ์ธ์ ๋ณด๋ณดํธ๋ฒ๋ ์ ๊ฒฝ์์ผ ํ๋ค. ์๋ฌดํผ, ๊ฐ๋ฐ์ ์งํํ๋ฉด์ ๋ด ์๊ฐ์ด์ธ๋ก ๋์ฑ ๋ํ ์ผํ ๊ฐ๋ฐ์ด ํ์ํ๋ค.
ํธ๋ํฐ ์ธ์ฆ์ ์ฌ์ ์ sdk๋ฅผ ์ ์ฒญํด์ผํ๊ณ , sms ๋น์ฉ์ ๋ถ๋ดํ๊ธฐ ๋๋ฌธ์ ๋ค์์ ์ ๋ฆฌํ๊ธฐ๋ก ํ๋ค.
๋ฉ์ผ์ธ์ฆ์ ์ฒ์ ํ ๋ ์กฐ๊ธ ํค๋งธ๋๋ฐ, ๋ก์ง์ด ์ ๋ฆฌ๋๊ณ ๋๋ ๋น๊ต์ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ด์๋ค.
์ด๋ ํฌ๊ฒ ๋๊ฐ์ง ๊ฐ๋๋ก ๋๋๋ค. ๋ฉ๋ชจ๋ฆฌ ์์คํ (Like Redis...)์ ์ฌ์ฉํ๋์ง / ๋ฐ๋ก DB์ ์ ์ฅํ๋์ง
{ ๋ฉ์ผ๊ณผ ๊ด๋ จ๋ ์๋น์ค }
- ํ์ ๊ฐ์ ๋ฉ์ผ ์ธ์ฆ
- ๋ฉ์ผ ์ธ์ฆ ์๊ฐ ์ด๊ณผ์ ๋ฐ์ดํฐ ์ญ์
- ๋น๋ฐ๋ฒํธ ์์
{ ๋ฐฉ๋ฒ A }
- ํ์ ๊ฐ์ ์์ฒญ
- ์๋ฒ ๋ฉ๋ชจ๋ฆฌ์ ํ์๊ฐ์ ์์ฒญํ ์ฌ์ฉ์ ์ ๋ณด ์ ์ฅ (์ด๋ key๊ฐ ์ ์)
- ์ํธํ๋ ์ธ์ฆ์ฉ ๋งํฌ ๋ฉ์ผ์ ์ฝ์
- ์ธ์ฆ์ฉ ๋งํฌ ์ ์ → ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋ ์ฌ์ฉ์ ์ ๋ณด DB์ ์ ์ฅ
- ์๊ฐ ์ด๊ณผ → ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋ ์ฌ์ฉ์ ์ ๋ณด ์ญ์
{ ๋ฐฉ๋ฒ B }
- ํ์ ๊ฐ์ ์์ฒญ
- DB์ ์๊ฐ์ ์์ฒญํ ์ฌ์ฉ์ ์ ๋ณด ์ ์ฅ (key ๊ฐ ์ ์/์ธ์ฆ์ฌ๋ถ False ์ฒ๋ฆฌ)
- ์ํธํ๋ ์ธ์ฆ์ฉ ๋งํฌ ๋ฉ์ผ์ ์ฝ์
- ์ธ์ฆ์ฉ ๋งํฌ ์ ์ → DB์ ์ ์ฅ๋ ํ์ ์ ๋ณด ์์ (์ธ์ฆ์ฌ๋ถ True ์ฒ๋ฆฌ)
- ์๊ฐ ์ด๊ณผ → DB์ ์ ์ฅ๋ ํ์ ์ ๋ณด ์ญ์
{ ๋ฐฉ๋ฒA } ์ฒ๋ผ ๋ฉ๋ชจ๋ฆฌ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๋ฉด ๋ถํ์ํ DB ์ฟผ๋ฆฌ๋ฌธ์ ์ค์ผ ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค. ๋๊ท๋ชจ ํธ๋ํฝ์์ DB Lock์ด ๊ฑธ๋ฆด ํ๋ฅ ์ด ์์กด ์์กด ์ค์ด๋ค๊ณ , DB ์๋ฒ์์ ํธ๋ํฝ ๋น์ฉ๋ ๊ฐ์์ํฌ ์ ์๋ค. ํ์ง๋ง ๋ฉ๋ชจ๋ฆฌ ์์คํ ์ ๋ฃ์ ์ฌ๊ฑด์ด ์๋๋ฉด B๋ก ๊ฐ์ผํ๋ค.
๋... ๋ฉ๋ชจ๋ฆฌ ์์คํ ์ ์ถ๊ฐํ๊ธฐ ๋๋ฌด ๋ฉ๋ฆฌ์๋ฒ๋ ค์ { ๋ฐฉ๋ฒ B }๋ฅผ ์ ํํ๋ค.
๋ฉ์ผ ์ธ์ฆ ๊ฐ๋ฐ์ ์งํํ๋ฉด์ ๊ธฐํ์์ ์ํตํ๊ธฐ ์ด๋ ค์ ๋ ๋ถ๋ถ์ด ํ๋ ์์๋ค. ์๋ก ํ๋ก์ฐ๊ฐ ๋ญ์ง ์ ์๊ฐ ๋์ง ์์ ๊ฐ์ ๋ค๋ฅธ ์ด์ผ๊ธฐ๋ฅผ ํ๊ธฐ๋ ํ์๋ค. ๊ทธ๋์ ์ ๋ฆฌํ ์์ ์ด๋ฏธ์ง๋ค... ํํ
๊ฐ๋ฐ-๊ธฐํ์ ํ์์์ [ ๊ฐ๋ฐ์ ํ์ํ ๋จ๊ณ ๊ฐ๋ตํ ์ค๋ช + ์์ ์ด๋ฏธ์ง / ๊ธฐํ์์ ๊ตฌํ ๋ถ๊ฐ๋ฅํ ๋ถ๋ถ ์ค๋ช & ๋์ / ๋ช ํํ ์๊ตฌ ] ์ด ์ธ ๊ฐ์ง๊ฐ ์ค์ํ ๊ฒ ๊ฐ๋ค. ์ด๋์ผ ์๋ก ์ธ์ ์์ด ๊ทธ๋๋ง,,, ์ํํ๊ฒ ์งํ๋๋ ๋ฏ.
ํ์ ๊ฐ์ → ์์ด๋ ์ค๋ณต ์ฌ๋ถ ์ฒดํฌ → ๋ฉ์ผ ๋ฐ์ก ์ฑ๊ณต ์ฌ๋ถ → ์ฌ์ฉ์ ๋ฉ์ผํจ → ๋ฉ์ผ ์ธ์ฆ ๋ฒํผ ํด๋ฆญ → ์ ํจ์ฑ ํ์ธ → ํ์๊ฐ์ ์คํจ/์ฑ๊ณต ํ์