-
Notifications
You must be signed in to change notification settings - Fork 3
๐ก ์ฌ์ฉ์ ์์ ๋ฐ๋ฅธ ์ ์ง์ ๊ฐ์ ๋ฐฉ์
Redddy edited this page Oct 24, 2024
·
1 revision
์ธ์ ์คํ ๋ฆฌ์ง ๋ฐ pub-sub ๊ตฌ์กฐ
- ๋ค์ค ์ธ์คํด์ค ํ๊ฒฝ์์ ์ธ์คํด์ค๊ฐ ์ฌ์์ ๋๊ฑฐ๋ ๋ก๋ ๋ฐธ๋ฐ์ฑ์ ํตํด ์ธ์ ์ด ๋ค๋ฅธ ์ธ์คํด์ค๋ก ์ด๋ํ ๊ฒฝ์ฐ ํ์ด๋จธ ๋จ์ ์๊ฐ ์ ๋ณด๊ฐ ์ ์ค๋๋ ์ํฉ์ด ๋ฐ์ํ๋ค.
- ์ธ์ ์คํ ๋ฆฌ์ง์์ ๋ฐํ๋๋ ํ์ด๋จธ ์ ๋ณด๋ ์ค์๊ฐ์ผ๋ก ์ฌ๋ฌ ์ธ์คํด์ค์์ ์ ๋ณด๊ฐ ๊ณต์ ๋์ด์ผํ๋ค. ๋ฐ๋ผ์ ์ฌ์ฉ์๊ฐ ํ์ด๋จธ๋ฅผ ํธ๋ฆฌ๊น ํ๋ฉด, ๊ฐ ์ธ์คํด์ค๋ณ๋ก ๋ฐํ๋๊ณ , ์๋ชจ ๋์ด์ผํ๋ค. ์ด ๊ณผ์ ์์ ๋์จํ ์ฐ๊ฒฐ์ ํตํด ๋ณ๋ชฉ ์ง์ ์ ์ต์ํํ๋ค.
- ์ด ์ํฉ์ ๋ฐฉ์งํ๊ธฐ ์ํด Redis๋ฅผ ๋์ ํ๋ค.
- ํ์ด๋จธ ์ ๋ณด ๊ด๋ฆฌ ๋ฐ OAuth ๊ณผ์ state๊ฐ ๊ด๋ฆฌ๋ ์ธ์ ๋จ์๋ก ์ ์ฅ์ด ํ์ํ๋ค. ๋ฐ๋ผ์ ์ธ์คํด์ค ์ธ๋ถ์ ์ธ์ ์คํ ๋ฆฌ์ง๋ฅผ ์ฌ์ฉํ๋ค.
์ค๋ฉ & writer DB ์ฆ์ค
- ์ฝ๋ฉํด๋์ค ์๋น์ค๋ ์ฐ๊ธฐ ์์ ๋ณด๋ค ์ฝ๊ธฐ ์์ ์ด ๋ ๋ง์ด ๋ฐ์ํ๋ค.
- ์ญ์ ๋ ํ์ด๋ฃธ, ํ๊ณ ์์ฑ๊น์ง ์๋ฃ๋ ์ข ๋ฃ๋ ํ์ด๋ฃธ์ ์ฝ๊ธฐ ์ ์ฉ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ๋ถ๋ฆฌํ๊ณ , writer DB๋ฅผ ์ฆ์คํ์ฌ ์ฑ๋ฅ์ ๊ฐ์ ํ๋ค.
- ํ์ฌ ํ์ด๋ฃธ์ ๋ฌผ๋ฆฌ์ ์ญ์ ๊ฐ ์๋ ๋ ผ๋ฆฌ์ ์ญ์ ๋ง ๊ฐ๋ฅํ๋ค.
- ํ์ด๋ฃธ ์์ฑ ๊ฐ์๊ฐ ์์ฒ๋ง๊ฑด์ผ๋ก ๋์ด๋๋ค๋ฉด, ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๋นํ ์ ์๋ค.
- ๋ํ ์์ฑ ์๊ธฐ๊ฐ ์ค๋๋ ํ์ด๋ฃธ์ ์กฐํํด์ผ ํ๋ ์ํฉ์ด ์ ๊ธฐ ๋๋ฌธ์ ๊ธฐ๊ฐ์ ๊ธฐ์ค์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ถ์ฐํ๋ ๊ฒ์ด ํจ์จ์ ์ด๋ผ๊ณ ์๊ฐํ๋ค.
- ๋๋ฉ์ธ ํน์ฑ์, ์ค๋์ ์ ์์ฑ๋ ๋ฐฉ์ผ์๋ก ์กฐํ/ ์์ ์์ฒญ์ด ์ค์ด๋ค ๊ฒ์ผ๋ก ์์๋์ด ์๊ฐ ๋จ์๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ถ๋ฆฌํ์ฌ ๊ด๋ฆฌํ๋ค.
S3, ๋น๋๊ธฐ(RabbitMQ, Kafka), ์บ์ฑ
- ๋งํฌ ์ ์ฅํ๋ ์๊ฐ ํด๋น ๋งํฌ์ ๋ฉํ ๋ฐ์ดํฐ(์ธ๋ค์ผ, ์ ๋ชฉ, ํ์ด์ง ์ค๋ช )์ธ ์คํ ๊ทธ๋ํ๋ฅผ ํฌ๋กค๋งํ๋ค.
- ํฌ๋กค๋ง ์์ ์ด ๋งํฌ ์ ์ฅ๊ณผ ๊ฐ์ ํธ๋์ญ์ ์์ ํฌํจ๋์ด ์์ด ํฌ๋กค๋ง์ด ์ค๋ ๊ฑธ๋ฆฌ๋ ๊ฒฝ์ฐ ๋งํฌ ์ ์ฅ๋ ์ค๋ ๊ฑธ๋ฆฌ๊ฒ ๋๋ค.
- ์ฌ์ฉ์๊ฐ ๋งํฌ๋ฅผ ์ ์ฅํ๋ ๊ฒ์ ์ด๋ฏธ ํด๋น ๋งํฌ์ ๋ฐฉ๋ฌธ์ ๋ง์น ๋ค์ ์์นด์ด๋น ๋ชฉ์ ์ผ๋ก ์ ์ฅํ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์ ์ฅํ์๋ง์ ๋ฐ๋ก ๋ฉํ ๋ฐ์ดํฐ๋ฅผ ์ ๊ณตํ ํ์์ฑ์ด ํฌ์ง ์๋ค.
- ํฌ๋กค๋ง ์์ ์ ๋น๋๊ธฐ ์์ ์ผ๋ก ์ฒ๋ฆฌํ๋ค๋ฉด ์ฌ์ฉ์ ์๊ฐ ์ฆ๊ฐํ์ฌ๋ ๋๊ธฐ ์๊ฐ์ด ํฌ๊ฒ ์ฆ๊ฐํ์ง ์์ ๊ฒ์ผ๋ก ์์ํ๋ค.
- ๊ทธ๋ฆฌ๊ณ ์ด ๋ฉํ ๋ฐ์ดํฐ ์ ๋ณด๋ ๋ณ๊ฒฝ๋ ๊ฐ๋ฅ์ฑ์ด ๊ต์ฅํ ๋ฎ์ ์ ๋ณด์ด๋ค.
- ๋ํ ํ์ฌ url ํ์์ผ๋ก ์ด๋ฏธ์ง๋ฅผ DB์ ์ ์ฅํ๊ณ ์๊ธฐ ๋๋ฌธ์ ์ด๋ฏธ์ง๋ฅผ ์กฐํํ ๋๋ง๋ค ํฌ๋กค๋ง์ ํ๊ฒ ๋๋ค.
- ์คํ ๊ทธ๋ํ ์ ๋ณด๋ฅผ S3๋ก ๊ด๋ฆฌํ๊ฑฐ๋ ์๋๋ฉด ๋ก์ปฌ ์บ์์ ์ ์ฅํ๋ค๋ฉด ์กฐํ์ ๋น ๋ฅธ ์๋ต๋ฅ ์ ๊ฐ์ ธ์ฌ ๊ฒ์ผ๋ก ์์ํ๋ค.
ํ์ด์ง
- ์ฌ์ฉ์์ ํ์ด๋ฃธ๊ณผ ํ๊ณ ๋ฆฌ์คํธ๋ฅผ ๋ณด์ฌ์ค ๋, ํ ๋ฒ์ ๋ชจ๋ ์ ๋ณด๋ฅผ ๋ณด์ฌ์ค ํ์๊ฐ ์๋ค.
- ํ์ด์ง์ ์ ์ฉํด์ ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ค ์ ๋ณด๋ฅผ ์์ ๋จ์๋ก ๋๋์ด ํ์ํ๋ค.
- ํ์ด์ง ์ฟผ๋ฆฌ์์ OFFSET๊ณผ LIMIT์ ์ฌ์ฉํ๋, ํฐ ๋ฐ์ดํฐ์ ์ ๋ํด ์ฟผ๋ฆฌ ์ฑ๋ฅ์ด ์ ํ๋ ์ ์๋ ์ํฉ์ ๊ณ ๋ คํ์ฌ ์ธ๋ฑ์ค๋ฅผ ์ต์ ํํ๊ฑฐ๋, Keyset Pagination๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ ํ์ฉํ์ฌ ์ฟผ๋ฆฌ ์ฑ๋ฅ์ ๋์ธ๋ค.
- ์์ฒ๋ง๋ช ์ ์ฌ์ฉ์๋ฅผ ๊ฐ๋นํ๋ ค๋ฉด ๊ฒฐ๊ตญ ์์คํ ์ ๋ถํ์ ๋ฐ๋ผ ๋ฆฌ์์ค๋ฅผ ํ์ฅํ ํ์๊ฐ ์๋ค..
- CPU ์ฌ์ฉ๋ฅ , ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋, ๋คํธ์ํฌ ํธ๋ํฝ, TPS ๋ฑ์ ๋ชจ๋ํฐ๋ง ์งํ๋ฅผ ๊ธฐ์ค์ผ๋ก ์๋ฒ ์ธ์คํด์ค๋ฅผ ์ค์ผ์ผ-์์ ํ๊ฑฐ๋, ์ค์ผ์ผ-์ธํ๋ค.
- ์ฌ์ฉ์ ์๊ฐ 1000๋ง๋ช ์ ๋๊ฒ ๋๋ฉด ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ ๋๋ง๋ค ์์คํ ์ด ๋ ๋ณต์กํด์ง๊ณ , ์์กด์ฑ์ด ๋์์ ธ ๋น ๋ฅธ ๋ฐฐํฌ๊ฐ ์ด๋ ค์์ง๊ฒ ๋๋ค.
- ๋ฐ๋ผ์ ๊ธฐ๋ฅ๋จ์๋ก ์๋น์ค๋ค์ ๋ถ๋ฆฌํ์ฌ ๋ ๋ฆฝ์ ์ผ๋ก ํ์ฅ ๊ฐ๋ฅํ๋๋ก ํ๋ค.
- ํน์ ๋ง์ดํฌ๋ก ์๋น์ค์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ํด๋น ์๋น์ค๋ง ์ฌ๋ฐฐํฌํ๊ฑฐ๋ ๋ณต๊ตฌํ ์ ์๊ธฐ ๋๋ฌธ์ ๋น ๋ฅด๊ฒ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค.
- ์ฌ์ฉ์ ์๊ฐ 1,000๋ง ๋ช ์ ๋์ผ๋ฉด, ๊ธฐ์กด์ ๋ชจ๋๋ฆฌ์ ์ํคํ ์ฒ๋ ์ ์ง๋ณด์ ์ญ์ ์ด๋ ค์์ง๋ค. ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ ๋๋ง๋ค ์์คํ ์ด ๋ ๋ณต์กํด์ง๊ณ , ๊ธฐ๋ฅ ๊ฐ ์์กด์ฑ์ด ๋์์ ธ ๋น ๋ฅธ ๋ฐฐํฌ์ ํ์ฅ์ ์ ํ์ ํด๊ฒฐํ๋ค.
- ๐ ํ๋ก์ ํธ ์๊ฐ
- ๐ ์ฌ์ฉ์ ์๋๋ฆฌ์ค
- โ๏ธ ๊ธฐ๋ฅ ๋ช ์ธ์
- ๐๏ธ ํ ๊ทธ๋ผ์ด๋ ๋ฃฐ
- ๐ ๏ธ ๊ธฐ์ ์คํ
- ๐ ๋ฐฑ์๋ ์ปจ๋ฒค์
- ๐ฅ๏ธ ๋ก๊น &๋ชจ๋ํฐ๋ง
- ๐ CI&CD
- ๐ DB ๊ถํ ์ค์
- ๐งง ์คํค๋ง
- ๐จ ๋๋ฏธ ๋ฐ์ดํฐ ์ฝ์
- ๐ DB ์ฑ๋ฅ ๊ฐ์ ๊ธฐ
- ๐ DB ์ฟผ๋ฆฌ ๋ฐ ์ธ๋ฑ์ค
- ๐งTPS ๋ฐ ํฐ์บฃ & HikariCP ์ค์
- ๐๋ฌด์ค๋จ ๋ฐฐํฌ
- ๐ก ์ฌ์ฉ์ ์์ ๋ฐ๋ ์ ์ง์ ๊ฐ์ ๋ฐฉ์