MMO RPG์ฒ๋ผ ๋๊ท๋ชจ์ ์ฌ์ฉ์๊ฐ ์ค์๊ฐ ๋จ์๋ก ์์ฒญ์ ๋ณด๋ด๋ ๊ฒ์์ ์ด๋ฆผ๋ ์์ง๋ง... ์ผ๋ฐ์ ์ธ ๋ชจ๋ฐ์ผ ๊ฒ์๋ฅ๋
์ค์๊ฐ์ด ์๋ ์ด์์ ์น์๋ฒ(WAS)๋ฅผ ์ฌ์ฉํจ
๊ธฐ์ ์คํ์ ๋๊ฐ ์๋์ ๊ฐ์.
๊ณผ๊ฑฐ๋ถํฐ ์ฆ๊ฒจ ์ฐ์ด๋ ๊ฒ์ php๊ณ
๋๋ ์ฃผ๋ก java๋ฅผ ์ด์ฉํจ
Php + mysql + memcached + codeigniter + nginx ๋ฑ์ด ์ฐ์์. ์์ฆ๋ ์ ๊ท ๊ฐ๋ฐ ๋ ์๋ฒ ์ชฝ์ ์ด๊ธฐ์ ์ ์ ํํ๊ธฐ๋ ํ๋๋ฐ..๊ธฐ์กด์ ์ต์ํด์ ธ์ ํธํด์ ์ธ ๊ฒ ๊ฐ๊ธฐ๋ ํจ
Java + mysql + mybatis + redis + tomcat + spring boot
๋๊ฐ์ ๊ฒฝ์ฐ๋ ๊ณผ๊ฑฐ์๋ php๋ก ๊ตฌ์ถ์ ํ๋ค๊ฐ
์์ฆ์๋ ์ด๋ฐ ๊ธฐ์ ์คํ์ ์ ํํด์ ์ฐ๊ณ ์์ด
์์ฆ์ node.jsํ๊ณ mongodb๋ ๋ง์ด ์ฐ๋๊ฑฐ ๊ฐ๋๋ผ
๊ธฐ์กด์ ์จ์ ์ต์ํ๋ค๋ฉด node.js๋ ์ข์ ์ ํ์ง ๊ฐ์๋ฐ
๋น์ ๊ณต์๋ผ๋ฉด ์ข์ ์ ํ์ง๊ฐ ์๋๋ผ๊ณ ์๊ฐํด
์ผ๋จ ์์ธ์ฒ๋ฆฌ๋ฅผ ์๋ชปํ๋ฉด ์๋ฒ๊ฐ ์ฃฝ์ด๋ฒ๋ฆฌ๋๋ฐ
๋ช๋ช์ ๊ทธ๊ฑด ์์ธ์ฒ๋ฆฌ๋ฅผ ์ํ ๊ฐ๋ฐ์ ์๋ชป์ด๋ค๋ผ๊ณ ๋งํ์ง๋ง
์์ ๋ค๋ฅธ ์๋ฒ๋ค์ ์์ธ์ฒ๋ฆฌ ์๋ชปํ๋ค๊ณ WAS ์์ฒด๊ฐ
์ฃฝ์ด๋ฒ๋ฆฌ์ง ์์
์ฆ ์ ๋ฌธํ๊ธฐ ์ฌ์ด ๋์ ์ฌ์ฉํ๊ธฐ ์กฐ๊ธ ๊น๋ค๋กญ๋ค๊ณ ๋ด
๋ฌผ๋ก ๋ฅํ๊ฒ ๋ค์ด๊ฐ๋ฉด ์ด๋ ์๋ฒ ์์ง์ด๋ ํ๋์ ํด์ผ๊ฒ ์ง๋ง
Node.js๋ ๋จ์ผ์ฝ์ด, ๋จ์ผ ์ฐ๋ ๋์ธ์ง๋ผ
ํ๋ก์ธ์ค๋ฅผ ์ฌ๋ฌ๊ฐ ์ฌ๋ ค์ ์ด์ํ๋ค ํ๋๋ผ๊ณ ...
๋ก๋๋ฐธ๋ฐ์
L4 ์ค์์น ์ฅ๋น๋ฅผ...์ธ๋๊ฒ ๊ท๋ชจ์์ ์ธ๋ฆฌ๋ ์์ํ ๊ณ
๋ณดํต ์ ์ฉํ๋ฉด HAproxy ์จ์ ๋ก๋๋ฐธ๋ฐ์์ฒ๋ผ ์ด์ฉํ ํ ๋ฐ
์ ์์ ๋ก๋๋ฐธ๋ฐ์ฑ์ ํ๋ ๊ฑฐ๊ฒ ์ง๋ง
์ด๋น ์์ฒญ์ ๋ช๋ฐฑ ์์ค์ ๊ฑ WAS ํ๋ ์จ๋ ๋ผ
์ฐธ๊ณ ๋ก ์ด๋น์์ฒญ์ ๋ช๋ฐฑ์ด๋ ์ด์ผ๊ธฐ๋
๋์์ ์์๊ฐ ๋ช์ฒ~๋ช๋ง ์ด๋ ์ด์ผ๊ธฐ๊ณ
์ด๋ ๋ค์ด๋ก๋ ๋ฐ์ ์ ์ ์๊ฐ 10๋ง~50๋ง ์ ๋ ๋๋ค๋ ๊ฑฐ์
์ผ๋จ ์ WAS 1๋๊ฐ ๊ด์ฐฎ์ ๋ฐฉ๋ฒ์ด๋๊ณ ํ๋ฉด
Was๊ฐ ์ฌ๋ฌ๋์ธ ๊ฒฝ์ฐ์๋ ์ธ์ ์ ๊ณต์ ํด์ค์ผํด
์ธ์ ์ ๊ณต์ ํ๋ ๋ฐฉ์์๋ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์๊ฒ ์ง๋ง
๋๊ฐ์ ๊ฒฝ์ฐ๋ ๋ ๋์ค์ ํฐ์บฃ ์ธ์ ์ ๋ณด๋ฅผ ์ฌ๋ ค์
์ฌ์ฉํจ
์ ์ธ์ ์ ๊ณต์ ํด์ผํ๋, ๋ก๋๋ฐธ๋ฐ์ฑ ํ ๋
ํด์๊ฐ์ ๋ฐ๋ผ์ ํน์ ์๋ฒ๋ก ๋ด๋ ค์ฃผ๋ฉด ์๋๋ ํ๋๋ฐ
๋ชจ๋ฐ์ผ ๋จ๋ง๊ธฐ๋ ip๊ฐ ๋ฐ๊ปด...
Wifi๋ฅผ ๋๊ฑฐ๋ ํค๊ฑฐ๋...ํน์ ์ด๋ํ๋ฉด ์ฃผ๋ณ ๊ธฐ์ง๊ตญ์ ๋ฐ๋ผ์
์ฆ was๋ฅผ ์ฌ๋ฌ๋ ์ฐ๋ฉด ๊ด๋ฆฌํฌ์ธํธ๊ฐ ๋ก๋๋ฐธ๋ฐ์์
์ธ์ ๊ณต์ ๊น์ง ๋์ด๋๋๊น
๋จ์ผ ์๋ฒ๋ก ์ด์ํ ์ ์์ผ๋ฉด ๋จ์ผ์๋ฒ๋ ๋์์ง ์์
๋ฌผ๋ก ๊ฒ์์ด ๋๋ฐํฐ์ ธ์ ์ ๋๋ก ์ด์์ ํ๋ ค๋ฉด
์ ์์ ์์ ๋ฐ๋ผ์ ์คํ ์ค์ผ์ผ์ ํด์ผํ๋๋ฐ
์ด์ ๋ ์์ค ๋๋ฉด ์๋ฒ ๊ฐ๋ฐ์๋ฅผ ๊ตฌํ๋๊ฒ ๋์๊ฑฐ์ผ.
์ํผ ๋ด๊ฐ ์ถ์ฒํ๋ ๊ฑฐ๋
was๊ฐ 1๋๋ผ๊ณ ํ์ง๋ง ์๋ฒ ๋์๊ฐ 1๋๋ ์๋
๋ญ์๋ฆฌ๋๋ฉด
DB์๋ฒ - ์บ์์๋ฒ(๋ ๋์ค) - WAS์๋ฒ์ผ
๋ฌผ๋ก DB์๋ฒ๋ ์กฐ๊ธ ๊น๊ฒ ๋ค์ด๊ฐ๋ฉด
๋ง์คํฐDB/์ฌ๋ ์ด๋ธDB
๋ก๊ทธDB ์ด๋ ๊ฒ ๋๋ ์ผ ํ๋๋ฐ...
๊ทธ๋ฌ๋ฉด ์๋ฒ ์๋๋ฃ๊ฐ ์ 10๋ง์ ๋๊ฒ ๋์ฌํ ๋
์ผ๋จ์ master DB ํ๋๋ก๋ ๋์์ง ์์
์ ์ ์ ๋ณด๋ ๊ณ์ ์ ๋ณด ๊ฒ์ ์ ๋ณด ๊ฐ์๊ฑด
์์ WAS๋ฅผ ํตํด์ ํ๋ฉด ๋๊ณ ,
๋ฃธ ๊ธฐ๋ฐ์ ์ค์๊ฐ ๋์ ๋ฐฉ์์ด๋ผ๋ฉด
์ฌ๊ธฐ์ Poton Pun2๋ฅผ ๋ณ์ฉ์์ ์ฐ๊ฑฐ๋...
์๋๋ฉด Amazon Lamdaํ๊ณ Gamelift๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๋
ํ๋์ ์ข์ ๋ฐฉ๋ฒ์ด๋ผ ์๊ฐํด
์ db์ ์บ์, was ์๋ฒ๋ฅผ ๋๋๋๋ฉด
๋ถ์์ ์ผ๋ก๋ ๊ด๋ฆฌ์ ์ธ ํธ์์ฑ์ด ์๊ณ
์ฃผ๋ ์์ธ์ ๋ฐฉํ๋ฒฝ ์ ์ฑ ์ ๊ฑธ๊ธฐ ์ํด์์ผ
DB์๋ฒ๋ ์บ์ ์๋ฒ๋ Was ์๋ฒ๋ง ์ ์ํ ์ ์๊ฒ
๋ฐฉํ๋ฒฝ์ ๊ฑธ์ด์ฃผ๋๊ฒ ์ข์.
๋ฐฉํ๋ฒฝ ๊ฑฐ๋๊ฑด iptable ์ค์ ํ๋ ๊ฒ๋ ์๊ธด ํ๋ฐ
Aws ๊ฐ์ ๊ฒฝ์ฐ๋ ์ฝ์์์ ์ค์ ํ ์ ์์ผ๋๊น
์ด๊ฒ ๋ซ์ง ์ถ์ด.
Java๋ php๋ node.js๋๋ ์ง๋ฌธ์๋
๋จ์ ๋ฐ์ดํฐ ์ ์ถ๋ ฅ์ ๊ฒฝ์ฐ์๋ ๊ตณ์ด ์๋ฐ๋ฅผ ์ธ ํ์ ์์ด
Node.js๋ php๋ง์ผ๋ก๋ ์ถฉ๋ถํ๋ค๊ณ ๋ด.
๊ทผ๋ฐ ์๋ฒ ๋ฐฑ๊ทธ๋ผ์ด๋๋จ์์ ์ฃผ๊ธฐ์ ์ผ๋ก ๋ก์ง์ด ๋์๊ฐ๊ณ
์๋ฒ ๋ก์ง์ด ๋ณต์กํ๊ฒ ๋์๊ฐ ๊ฒฝ์ฐ์๋
์๋ฐ๋ฅผ ์ถ์ฒํด
์ผ๋จ ๊ฐ์ฒด์งํฅ ์ธ์ด์ด๊ณ ,
crontab์ผ๋ก ์คํฌ๋ฆฝํธ๋ฅผ ์ฃผ๊ธฐ์ ์ผ๋ก ์คํ์์ผ์ค์ผ ํ๋
Php์ ๋ฌ๋ฆฌ, ์คํ๋ง ํ๋ ์์ํฌ์์ crontab์ฒ๋ผ
์ค์ผ์ค๋ฌ๋ฅผ ์ค์ ํ ์ ์์ด.
๊ฒ๋ค๊ฐ java๊ฐ ๋๋ฆฌ๋ค ๋๋ฆฌ๋ค ํ์ง๋ง
Php๋ ๋ ๋น๊ตํ๋ฉด ๊ฒ๋ ๋นจ๋ผ
C++๋ก ์ง๋ฉด 1์ด ๊ฑธ๋ฆด ์ฐ์ฐ์ด ์๋ค ์น๋ฉด
C#์ด๋ฉด 3์ด, java๋ฉด 5์ด ์ ๋๊ฐ ๊ฑธ๋ ค
๊ทธ๋ฆฌ๊ณ php๋ 20์ด ๊ฐ๋์ด ๊ฑธ๋ฆฌ๊ณ ,
๋ 40์ด ๊ฐ๋์ด ๊ฑธ๋ ค
์ด๊ฑด ๋ค์ ๋งํด์ ์๋ฐ๋ก ์ง๋ฉด ์๋ฒ 1๋๋ฉด ๋ ์ฐ์ฐ์ด๋ฉด
๊ฒฝ์ฐ์ ๋ฐ๋ผ์ php๋ ์๋ฒ๊ฐ 4๋๊ฐ ํ์ํ ์๋ ์๋จ ์ด์ผ๊ธฐ์ผ
๋ฌผ๋ก ์ฌ๊ธฐ์ ๋ ์ฝ์ดํ๊ฒ ๋ค์ด๊ฐ๋ฉด
JNI๋ฅผ ์จ์ C++์ ํ์ ๋น๋ฆฌ๊ธฐ๋ ํ๋๋ฐ
๊ทธ์ ๋ ๋ ๋ฒจ์ด ํ์ํ ๊ฒ์์ ๋ง๋ ๋ค๋ฉด
์ ๋ฌธ๊ฐ๋ฅผ ๊ตฌํ๋๊ฒ ๋ซ๊ณ
์ ๋ฌธ๊ฐ๋ฅผ ๋ชป๊ตฌํ๊ฒ ์ผ๋ฉด ์์ฉ ๊ฒ์ ์๋ฒ ์์ง์
๋์ ํ๋๊ฒ ์ฐจ๋ผ๋ฆฌ ๋์ ๋ฏ ์ถ์ด
๊ทธ๋ฆฌ๊ณ ์คํ๋ง๋ถํธ๋ฅผ ์ถ์ฒํ๋ ์ด์ ๋
Spring security๋ฅผ ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ด์ผ
์์ฒด ๋ก๊ทธ์ธ ๊ธฐ๋ฅ์ด๋ ์ธ๋ถ ๋ก๊ทธ์ธ ์ฐ๋ (Oauth2.0) ๋ฑ์
์ฝ๊ฒ ๊ตฌํํ ์ ์์ด
์ฌ๊ธฐ์ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ์ง์ ๊ฐ๋ฐ๋ ๋ชปํ๋
์ ๋ก๊ทธ์ธ์ ๊ฐ์ ธ๋ค ์ฐ๋๋ ์ ๋ค๋ ์์ํ ๋ฐ
์ด์คํ๊ฒ ๋ง๋ค๋ค๊ฐ ์งฑ๊ฐ ์ ๋คํํ ์๋ฒ ํธ๋ ค์
๊ฐ์ธ์ ๋ณด ์ ์ถ ๋์๋ค๊ณ ์ง์ง ์ง๋ฉด์ ๊ณต์ง ์ฌ๋ฆฌ์ง ๋ง๊ณ
ํ๋ด ๋ณด์ ๋ด๋น์๊ฐ ์๋ค๋ฉด ๋ชจ๋ฅผ๊น
์์ผ๋ฉด ๊ฐ๋ฐ๋ถ์ฌ ๋ถ๋ฆฌ์ง ๋ง๊ณ ๋ณด์์ ์ธ ๋ถ๋ถ์
๊ฒ์ฆ๋ ์๋ฃจ์ ์ ๋งก๊ฒจ
๋๋ต์ ์ผ๋ก 1๋ฌ์ด๋ฉด ์คํ๋ง๋ถํธ์ ์ต์ํด์ง ์ ์๋๋ฐ
์คํ๋ง ๋ถํธ ์ฑ ์ ์ฐพ๋๋ค๋ฉด
๊ฐ๊ธ์ ์ด๋ฉด ์ ์๊ฐ ์ธ๊ตญ์ธ์ธ ๋ฒ์ญ์๋ฅผ ๊ณจ๋ผ
Spring framework๋ฅผ ๋ณด๋ค ์ฝ๊ฒ ์ฐ๋ผ๊ณ ๋์จ๊ฒ
spring boot์ธ๋ฐ... ํ๊ตญ์ SI ๋ฐ๋ฅ์ ํน์ฑ ์
์ด๋ ์ฑ ์ด๊ฑด spring framework๋ฅผ ๋ค๋ฃธ
์ด๋๊ฐ๋ ์๋ฆฌ ์ฐพ๋ ๋ณ์ ์ ์กด์ฌํด์
์คํ๋ง ํ๋ ์์ํฌ ๋ชจ๋ฅด๋๋ฐ ์คํ๋ง ๋ถํธ๋ฅผ ์ด๋ป๊ฒ ์ฐ๋๊ณ
๋ธ๋ธ์ด ์น๋ ์ ๋ค๋ ์๋๋ฐ
๋ชฐ๋ผ๋ ์ธ ์ ์๊ฒ ๋ง๋ค์ด ๋์๊ฒ spring boot์
์๋ฌด๊ฒ๋ ๋ชจ๋ฅธ๋ค๊ณ ๊ฐ์ ํ๋ฉด...
์๋ฒ๋ ๊ฐ๊ธ์ ๋ค๋ฃจ์ง ์๋ ๊ฒ์ ์ถ์ฒํจ
ํด๋ผ์ด์ธํธ๋ ๋ฐ์ ํํ๋ฉด ๊ฒ์์ด ๋๋ ค์ง ๋ฟ์ด์ง๋ง
์๋ฒ๋ ๋ฐ์ ํํ๋ฉด ๊ทธ๊ฒ ๋ค ๋น์ฉ์ผ๋ก ๋๋์์ฌ ๋ฟ๋๋ฌ
๊ฐ์ธ์ ๋ณด ์ ์ถ์ด๋ผ๋ ๋๋ฉด ๊ณจ์น์ํ์ง
์ ์จ์ผํ๋ค ์ถ์ผ๋ฉด
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ค๊ณ๊ฐ ๊ฐ๋ฅํ ์ ๋๋ก ๊ณต๋ถ๋ฅผ ํ๋๊ฒ ์ข์
์ค๊ณ์์ ๋ฐ์ํด์ผ ํ๋ ๊ฒ๋ค์
๊ฐ์ธ์ ๋ณด (์ด๋ฆ ๋์ด ์ฑ๋ณ ์ฃผ์ ์ฐ๋ฝ์ฒ)๋ฑ์ ๊ฐ๊ธ์
์์งํ์ง ๋ง๊ณ , ๋ง์ ํ๋ ์์งํ๋ฉด
๊ฒ์DB์๋ ๋ณ๋์ DB์ ์ํธํํด์ ๋ณด๊ดํด์ผํจ
ํด๋ฉด๊ณ์ ์ญ์ ๊ฒ์DB์๋ ๋ณ๋์ ํด๋ฉด๊ณ์ ์ฉ DB์
์ฎ๊ฒจ ๋ณด๊ดํด์, ๋ง์ํ๋ ๊ฒ์DB๊ฐ ํธ๋ ค๋
ํด๋ฉด๊ณ์ ์ ์ํธ๋ฆฌ๊ฒ ์กฐ์นํด์ผํจ.
๋ ๋ฅํ๊ฒ ๋ค์ด๊ฐ๋ฉด ๊ฒ์ ์ฝ๊ด ๊ฐ์ ๊ฒ๋ ๊ณ ์งํด์ผํ๊ณ
์ธ์ ๋์ํ๋์ง ๋์ ์ผ์๋ ์ ์ฅํด์ ์๋ฒ์ ๋ณด๊ดํด์ผํจ
์น ํ๋ ์์ํฌ๊ฐ ์ด๋๊ฒ ์ฝ๋ ์ด๋ ต๋ ํ๋๋ฐ
์ด์ฐจํผ Json์ผ๋ก ๋ฐ์ดํฐ ์ฃผ๊ณ ๋ฐ๋ API ๋ง๋ค๊ฑฐ๋ฉด
Spring boot๋ ์ถฉ๋ถํ ์ฝ๋ค๊ณ ๋ด
์ผ๋จ php๋ json ์ธ์ฝ๋ฉ ๋์ฝ๋ฉ ํด์ ์ฝ์งํด์ผ ๋๋๋ฐ ๋ฐํด
Spring boot๋ rest controller๋ก ๋ง๋ค์ด์
์ค๋ธ์ ํธ๋ฅผ returnํ๋ฉด ๊ทธ๊ฒ json ํํ๋ก ๋ ์ฐํ
๊ทธ๋ฆฌ๊ณ ์ ์ ๊ฐ ์์ฒญํ ํ๋ผ๋ฏธํฐ๋ ์ํ๋ ํด๋์ค ํํ๋ก
๋ฐ์ธ๋ฉ์ด ๊ฐ๋ฅ
์ ์ฐธ๊ณ ๋ก
์คํ๋ง์๋ DI(์์กด์ฑ ์ฃผ์ )ํ๊ณ IoC(์ ์ด์ ์ญ์ )์ด๋
๊ฐ๋ ์ด ์กด์ฌํ๋๋ฐ
์ด๊ฒ ๊ฒฝ์ฐ์ ๋ฐ๋ผ์๋ ๊ต์ฅํ ์์ํ ๊ฐ๋ ์ด ๋ ์๋ ์์ด
์ต์ํด์ง๋ฉด ์ ๋ง ํธํ์ง๋ง ์๋ง์ผ๋ฉด ์คํ๋ง ๋ณด๋ค๋ ๋ค๋ฅธ
ํ๋ก์ ํธ๊ฐ ์ ํฉํ ์ง๋ ๋ชฐ๋ผ
์ด์จ๋ DI์ IoC๋ฅผ ํตํด์ ๊ฐ๋ฐ์๊ฐ ์ป์ ์ ์๋ ํํ์
์ฝ๋ ์์กด์ฑ์ ์ค์ฌ์ ์ฌ์ฌ์ฉ์ฑ์ ๋์ด๊ณ
์์กด์ฑ์ด ์ค์ด๋ ๋งํผ ๊ฐ๊ฐ์ ๊ธฐ๋ฅ์ ๋จ์ ํ ์คํธํด๋ณผ ์ ์์ด
๋จ์ํ ์คํธ๋ ์ฝ๊ฒ ๋งํด ๊ฐ๊ฐ์ ๊ธฐ๋ฅ์ ๋ฏ์ด์ ํ ์คํธํ๋ ๊ฑด๋ฐ
๊ฐ๋ น ๋ก๊ทธ์ธ ๋ถ๋ถ์ ํ ์คํธ ํ๋ค๊ณ ํ๋ค๊ณ ํ๋ฉด
ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ฌ ๋ฐ๋ ๋ถ๋ถ
ํจ์ค์๋๋ฅผ ๋น๊ตํ๋ ๋ถ๋ถ
์ ์ ์ ๋ณด๋ฅผ ๋ถ๋ฌ์ค๋ ๋ถ๋ถ
์ด๋ฐ์์ผ๋ก ๊ฐ๊ฐ์ ๊ธฐ๋ฅ์ ํ ์คํธํด๋ณผ ์ ์์ด
์ด๊ฒ ๋ญ ๊ทธ๋ฆฌ ๋๋จํ ์ผ์ธ๊ฐ ์ถ์ง๋ง
๋จ์ํ ์คํธ๊ฐ ์๋๋ ํ๊ฒฝ... PHP์์๋ ๊ฐ๊ฐ์ ๋ถ๋ถ์
๋๋ฒ๊น ๋ก๊ทธ ์ฐ๊ฒ ํด๋๊ณ
์๋ฒ์ ์ ์ํด์ ๋ก๊ทธ ์ฐํ๋๊ฑฐ ๋ณด๋ฉด์
์ด๋๋ถ๋ถ์ด ๋ฌธ์ ์ธ์ง ํ์ธ์ ํด๋ด์ผํด
๋ฐ๋ฉด์ ๋จ์ํ ์คํธ๋ฅผ ํ๊ฒ ๋๋ค๋ฉด
๊ฐ๊ฐ์ ์ํฉ์ ๊ฐ์ ํ๊ณ ๋๋ฏธ ๋ฐ์ดํฐ๋ฅผ ๋์ ธ์ฃผ๊ณ
๊ทธ์ ๋ํ ๊ฒฐ๊ณผ๊ฐ์ ๋น๊ตํด๋ด์ผ๋ก์จ
ํด๋น ๋ถ๋ถ์ด ์ ๋์๊ฐ๋์ง ์๋์ง ๊ฒ์ฆ์ ํด๋ณผ ์ ์์ด
๋ง์ง๋ง์ผ๋ก ์คํธ๋ ์ค ํ ์คํธ๋ Jmeter๋
nGrinder๋ฑ์ด ์๋๋ฐ
๊ฐ๊ฐ์ endpoint ๊ทธ๋ฌ๋๊น api ํธ์ถ๋๋ url ๊ฒฝ๋ก๋ฅผ
๋ฃ๊ณ api๋ฅผ ํ ์คํธํด๋ณผ ์ ์์ด
๋จ์ ์กฐํ ๊ฐ์ ๊ฑฐ๋ ์๋ต์๋๊ฐ 10ms ์ด๋ด๋ก ๋์์ผํด
๊ทธ๋ฌ๋ฉด ํฐ์บฃ์๋ฒ๊ฐ ์ต๋ ์ ์์์๋ฅผ 100๋ช , ์ต๋์ฐ๋ ๋ ์๋ฅผ
100๊ฐ ์ด์(๋ณดํต์ ์ต๋ ์ ์์ ์์ 2๋ฐฐ ์ ๋) ์ค์ ํด๋์ผ๋ฉด
์ด๋ก ์ ์ผ๋ก๋ ์ด๋น 1๋ง๊ฑด์ ์์ฒญ์ ์ฒ๋ฆฌํ ์ ์์ด
๋ฌผ๋ก ์๋ฒ cpu ์ฌ์ฉ๋๊ณผ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ๋ด๊ฐ๋ฉด์
์๋ฒ์์ ๋ฒํธ ์ ์๋ ์ต๋ ์ ์์ ์์ ์ต๋ ์ฐ๋ ๋ ์๋ฅผ
๊ฒฐ์ ํ๋ฉด ๋จ.
๋ฌผ๋ก aws ํ๋ฆฌํฐ์ด ๊ฐ์ ๊ฑฐ์์ ์๋ฒ 1๋ ์ด๋น 1๋ง๊ฑด ๊ฐ๋ฅ?
์ด์ง๋ ํ๋ฉด ์๊ตฌ์ฐฝ ๋๋ ค์ผ ํ๊ณ
๋ชปํด๋ ์์ฉ์๋ฒ๋ 4์ฝ์ด 8๊ธฐ๊ฐ ์ง๋ฆฌ ์จ ์ฃผ์
์ ๋ช๋ง์ ์ง๋ฆฌ์ผ.
๋ณดํต์ cpu๊ฐ 20~30% ์ ๋ ์ฌ์ฉ๋๋ฉด
์๋ฒ ์ฆ์ค์ ํด์ผํ๋ ์์ ์ธ๋ฐ...
์ ๋ชฐ๋ผ ๋๊น์ง ๊ฐ์ ใ ใ ํ๋ฉด์ 80~90%๊น์ง ์ฐ๋ฉด
์ด๋ก ์ ์ผ๋ก๋ ์ด๋น 10๋ง๊ฑด๋ ๊ฐ๋ฅํ์ง๋ง...
์ง์ง ์ด๋ฐ๊ตฌ๋ก ์ฐ๋ฉด ์๋ํ๋ฉด ์๋ฒ ๋ค์ง๋ ๊ฑฐ๋๊น
์์ด ์๋ฒ 1๋๋ก ๋ฌด์จ TPS 10๋ง๊ฑด์ด์์ ํ๋ฉด
์ฌ์ค ๋ง๋ ๋ง์. ์บ์ ์๋ฒ๊ฐ ๋ชป๋ฒํธ๊ป?
์บ์์๋ฒ๋ ์๋ฒ ์ฌ์์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๊ฒ ์ง๋ง
๊ฐ์ ์ฌ์์์ mysql์ด tps 200๊ฑด ๋์จ๋ค์น๋ฉด
Redis๋ 40000๊ฑด ์ ๋ ๋์จ๋ค ๋ณด๋ฉด ๋จ.
๋ฌผ๋ก 4๋ง๊ฑด ๋๋ฌ ํ ๋๊น์ง ๋๋์ง ์๊ณ
๋ณดํต์ 1๋ง๊ฑด ์ํ์ผ๋ก ์ ์งํ ์ ์๊ฒ ๋ ๋์ค ์๋ฒ๋ฅผ ๋๋ฆผ
์ฆ Was๊ฐ ์ด๋น 10๋ง๊ฑด์ ์์ฒญํ๋ฉด ๋๋ต ๋ ๋์ค ์๋ฒ๋
๋ถ์ฐ์ฒ๋ฆฌ๋ฅผ ์ํด์ 10๋๊ฐ ํ์ํ๋จ ๊ฑฐ์.
๋ฌผ๋ก ์ ๋๋ก ๊ฐ๋ ๋ฐํ ํ์ฌ๋... was ํ๋์ 10๋ง๊ฑด
๋ฌผ๋ฆฌ๊ฒ ๋ ๋์ง ์๋๋ฐ... ์๋ฒ ํญ์ฃผ ์ค์ด๋ผ๊ณ ๋ก๊ทธ์ธ ๋๊ธฐ
์ํค๋ ํ์ฌ๋ ๋ง์ด ใฒใฒ ๋ชจ๋ ํ์ฌ๊ฐ ์คํ ์ค์ผ์ผ์
๊ฐ์๊ฑธ ํ๋๊ฑด ์๋
์ฐ๋ค๋ณด๋ ์กด๋ ๊ธธ์ด์ก๋ค...
์ํผ ๊ฒ์ ์๋ฒ ๊ตฌ์ถ์ ๋์ ํ๋ ์ฌ๋์ ํ์ดํ ํด
์ค์๊ฐ์ด ์๋ ์ด์์ ์น์๋ฒ(WAS)๋ฅผ ์ฌ์ฉํจ
๊ธฐ์ ์คํ์ ๋๊ฐ ์๋์ ๊ฐ์.
๊ณผ๊ฑฐ๋ถํฐ ์ฆ๊ฒจ ์ฐ์ด๋ ๊ฒ์ php๊ณ
๋๋ ์ฃผ๋ก java๋ฅผ ์ด์ฉํจ
Php + mysql + memcached + codeigniter + nginx ๋ฑ์ด ์ฐ์์. ์์ฆ๋ ์ ๊ท ๊ฐ๋ฐ ๋ ์๋ฒ ์ชฝ์ ์ด๊ธฐ์ ์ ์ ํํ๊ธฐ๋ ํ๋๋ฐ..๊ธฐ์กด์ ์ต์ํด์ ธ์ ํธํด์ ์ธ ๊ฒ ๊ฐ๊ธฐ๋ ํจ
Java + mysql + mybatis + redis + tomcat + spring boot
๋๊ฐ์ ๊ฒฝ์ฐ๋ ๊ณผ๊ฑฐ์๋ php๋ก ๊ตฌ์ถ์ ํ๋ค๊ฐ
์์ฆ์๋ ์ด๋ฐ ๊ธฐ์ ์คํ์ ์ ํํด์ ์ฐ๊ณ ์์ด
์์ฆ์ node.jsํ๊ณ mongodb๋ ๋ง์ด ์ฐ๋๊ฑฐ ๊ฐ๋๋ผ
๊ธฐ์กด์ ์จ์ ์ต์ํ๋ค๋ฉด node.js๋ ์ข์ ์ ํ์ง ๊ฐ์๋ฐ
๋น์ ๊ณต์๋ผ๋ฉด ์ข์ ์ ํ์ง๊ฐ ์๋๋ผ๊ณ ์๊ฐํด
์ผ๋จ ์์ธ์ฒ๋ฆฌ๋ฅผ ์๋ชปํ๋ฉด ์๋ฒ๊ฐ ์ฃฝ์ด๋ฒ๋ฆฌ๋๋ฐ
๋ช๋ช์ ๊ทธ๊ฑด ์์ธ์ฒ๋ฆฌ๋ฅผ ์ํ ๊ฐ๋ฐ์ ์๋ชป์ด๋ค๋ผ๊ณ ๋งํ์ง๋ง
์์ ๋ค๋ฅธ ์๋ฒ๋ค์ ์์ธ์ฒ๋ฆฌ ์๋ชปํ๋ค๊ณ WAS ์์ฒด๊ฐ
์ฃฝ์ด๋ฒ๋ฆฌ์ง ์์
์ฆ ์ ๋ฌธํ๊ธฐ ์ฌ์ด ๋์ ์ฌ์ฉํ๊ธฐ ์กฐ๊ธ ๊น๋ค๋กญ๋ค๊ณ ๋ด
๋ฌผ๋ก ๋ฅํ๊ฒ ๋ค์ด๊ฐ๋ฉด ์ด๋ ์๋ฒ ์์ง์ด๋ ํ๋์ ํด์ผ๊ฒ ์ง๋ง
Node.js๋ ๋จ์ผ์ฝ์ด, ๋จ์ผ ์ฐ๋ ๋์ธ์ง๋ผ
ํ๋ก์ธ์ค๋ฅผ ์ฌ๋ฌ๊ฐ ์ฌ๋ ค์ ์ด์ํ๋ค ํ๋๋ผ๊ณ ...
๋ก๋๋ฐธ๋ฐ์
L4 ์ค์์น ์ฅ๋น๋ฅผ...์ธ๋๊ฒ ๊ท๋ชจ์์ ์ธ๋ฆฌ๋ ์์ํ ๊ณ
๋ณดํต ์ ์ฉํ๋ฉด HAproxy ์จ์ ๋ก๋๋ฐธ๋ฐ์์ฒ๋ผ ์ด์ฉํ ํ ๋ฐ
์ ์์ ๋ก๋๋ฐธ๋ฐ์ฑ์ ํ๋ ๊ฑฐ๊ฒ ์ง๋ง
์ด๋น ์์ฒญ์ ๋ช๋ฐฑ ์์ค์ ๊ฑ WAS ํ๋ ์จ๋ ๋ผ
์ฐธ๊ณ ๋ก ์ด๋น์์ฒญ์ ๋ช๋ฐฑ์ด๋ ์ด์ผ๊ธฐ๋
๋์์ ์์๊ฐ ๋ช์ฒ~๋ช๋ง ์ด๋ ์ด์ผ๊ธฐ๊ณ
์ด๋ ๋ค์ด๋ก๋ ๋ฐ์ ์ ์ ์๊ฐ 10๋ง~50๋ง ์ ๋ ๋๋ค๋ ๊ฑฐ์
์ผ๋จ ์ WAS 1๋๊ฐ ๊ด์ฐฎ์ ๋ฐฉ๋ฒ์ด๋๊ณ ํ๋ฉด
Was๊ฐ ์ฌ๋ฌ๋์ธ ๊ฒฝ์ฐ์๋ ์ธ์ ์ ๊ณต์ ํด์ค์ผํด
์ธ์ ์ ๊ณต์ ํ๋ ๋ฐฉ์์๋ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์๊ฒ ์ง๋ง
๋๊ฐ์ ๊ฒฝ์ฐ๋ ๋ ๋์ค์ ํฐ์บฃ ์ธ์ ์ ๋ณด๋ฅผ ์ฌ๋ ค์
์ฌ์ฉํจ
์ ์ธ์ ์ ๊ณต์ ํด์ผํ๋, ๋ก๋๋ฐธ๋ฐ์ฑ ํ ๋
ํด์๊ฐ์ ๋ฐ๋ผ์ ํน์ ์๋ฒ๋ก ๋ด๋ ค์ฃผ๋ฉด ์๋๋ ํ๋๋ฐ
๋ชจ๋ฐ์ผ ๋จ๋ง๊ธฐ๋ ip๊ฐ ๋ฐ๊ปด...
Wifi๋ฅผ ๋๊ฑฐ๋ ํค๊ฑฐ๋...ํน์ ์ด๋ํ๋ฉด ์ฃผ๋ณ ๊ธฐ์ง๊ตญ์ ๋ฐ๋ผ์
์ฆ was๋ฅผ ์ฌ๋ฌ๋ ์ฐ๋ฉด ๊ด๋ฆฌํฌ์ธํธ๊ฐ ๋ก๋๋ฐธ๋ฐ์์
์ธ์ ๊ณต์ ๊น์ง ๋์ด๋๋๊น
๋จ์ผ ์๋ฒ๋ก ์ด์ํ ์ ์์ผ๋ฉด ๋จ์ผ์๋ฒ๋ ๋์์ง ์์
๋ฌผ๋ก ๊ฒ์์ด ๋๋ฐํฐ์ ธ์ ์ ๋๋ก ์ด์์ ํ๋ ค๋ฉด
์ ์์ ์์ ๋ฐ๋ผ์ ์คํ ์ค์ผ์ผ์ ํด์ผํ๋๋ฐ
์ด์ ๋ ์์ค ๋๋ฉด ์๋ฒ ๊ฐ๋ฐ์๋ฅผ ๊ตฌํ๋๊ฒ ๋์๊ฑฐ์ผ.
์ํผ ๋ด๊ฐ ์ถ์ฒํ๋ ๊ฑฐ๋
was๊ฐ 1๋๋ผ๊ณ ํ์ง๋ง ์๋ฒ ๋์๊ฐ 1๋๋ ์๋
๋ญ์๋ฆฌ๋๋ฉด
DB์๋ฒ - ์บ์์๋ฒ(๋ ๋์ค) - WAS์๋ฒ์ผ
๋ฌผ๋ก DB์๋ฒ๋ ์กฐ๊ธ ๊น๊ฒ ๋ค์ด๊ฐ๋ฉด
๋ง์คํฐDB/์ฌ๋ ์ด๋ธDB
๋ก๊ทธDB ์ด๋ ๊ฒ ๋๋ ์ผ ํ๋๋ฐ...
๊ทธ๋ฌ๋ฉด ์๋ฒ ์๋๋ฃ๊ฐ ์ 10๋ง์ ๋๊ฒ ๋์ฌํ ๋
์ผ๋จ์ master DB ํ๋๋ก๋ ๋์์ง ์์
์ ์ ์ ๋ณด๋ ๊ณ์ ์ ๋ณด ๊ฒ์ ์ ๋ณด ๊ฐ์๊ฑด
์์ WAS๋ฅผ ํตํด์ ํ๋ฉด ๋๊ณ ,
๋ฃธ ๊ธฐ๋ฐ์ ์ค์๊ฐ ๋์ ๋ฐฉ์์ด๋ผ๋ฉด
์ฌ๊ธฐ์ Poton Pun2๋ฅผ ๋ณ์ฉ์์ ์ฐ๊ฑฐ๋...
์๋๋ฉด Amazon Lamdaํ๊ณ Gamelift๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๋
ํ๋์ ์ข์ ๋ฐฉ๋ฒ์ด๋ผ ์๊ฐํด
์ db์ ์บ์, was ์๋ฒ๋ฅผ ๋๋๋๋ฉด
๋ถ์์ ์ผ๋ก๋ ๊ด๋ฆฌ์ ์ธ ํธ์์ฑ์ด ์๊ณ
์ฃผ๋ ์์ธ์ ๋ฐฉํ๋ฒฝ ์ ์ฑ ์ ๊ฑธ๊ธฐ ์ํด์์ผ
DB์๋ฒ๋ ์บ์ ์๋ฒ๋ Was ์๋ฒ๋ง ์ ์ํ ์ ์๊ฒ
๋ฐฉํ๋ฒฝ์ ๊ฑธ์ด์ฃผ๋๊ฒ ์ข์.
๋ฐฉํ๋ฒฝ ๊ฑฐ๋๊ฑด iptable ์ค์ ํ๋ ๊ฒ๋ ์๊ธด ํ๋ฐ
Aws ๊ฐ์ ๊ฒฝ์ฐ๋ ์ฝ์์์ ์ค์ ํ ์ ์์ผ๋๊น
์ด๊ฒ ๋ซ์ง ์ถ์ด.
Java๋ php๋ node.js๋๋ ์ง๋ฌธ์๋
๋จ์ ๋ฐ์ดํฐ ์ ์ถ๋ ฅ์ ๊ฒฝ์ฐ์๋ ๊ตณ์ด ์๋ฐ๋ฅผ ์ธ ํ์ ์์ด
Node.js๋ php๋ง์ผ๋ก๋ ์ถฉ๋ถํ๋ค๊ณ ๋ด.
๊ทผ๋ฐ ์๋ฒ ๋ฐฑ๊ทธ๋ผ์ด๋๋จ์์ ์ฃผ๊ธฐ์ ์ผ๋ก ๋ก์ง์ด ๋์๊ฐ๊ณ
์๋ฒ ๋ก์ง์ด ๋ณต์กํ๊ฒ ๋์๊ฐ ๊ฒฝ์ฐ์๋
์๋ฐ๋ฅผ ์ถ์ฒํด
์ผ๋จ ๊ฐ์ฒด์งํฅ ์ธ์ด์ด๊ณ ,
crontab์ผ๋ก ์คํฌ๋ฆฝํธ๋ฅผ ์ฃผ๊ธฐ์ ์ผ๋ก ์คํ์์ผ์ค์ผ ํ๋
Php์ ๋ฌ๋ฆฌ, ์คํ๋ง ํ๋ ์์ํฌ์์ crontab์ฒ๋ผ
์ค์ผ์ค๋ฌ๋ฅผ ์ค์ ํ ์ ์์ด.
๊ฒ๋ค๊ฐ java๊ฐ ๋๋ฆฌ๋ค ๋๋ฆฌ๋ค ํ์ง๋ง
Php๋ ๋ ๋น๊ตํ๋ฉด ๊ฒ๋ ๋นจ๋ผ
C++๋ก ์ง๋ฉด 1์ด ๊ฑธ๋ฆด ์ฐ์ฐ์ด ์๋ค ์น๋ฉด
C#์ด๋ฉด 3์ด, java๋ฉด 5์ด ์ ๋๊ฐ ๊ฑธ๋ ค
๊ทธ๋ฆฌ๊ณ php๋ 20์ด ๊ฐ๋์ด ๊ฑธ๋ฆฌ๊ณ ,
๋ 40์ด ๊ฐ๋์ด ๊ฑธ๋ ค
์ด๊ฑด ๋ค์ ๋งํด์ ์๋ฐ๋ก ์ง๋ฉด ์๋ฒ 1๋๋ฉด ๋ ์ฐ์ฐ์ด๋ฉด
๊ฒฝ์ฐ์ ๋ฐ๋ผ์ php๋ ์๋ฒ๊ฐ 4๋๊ฐ ํ์ํ ์๋ ์๋จ ์ด์ผ๊ธฐ์ผ
๋ฌผ๋ก ์ฌ๊ธฐ์ ๋ ์ฝ์ดํ๊ฒ ๋ค์ด๊ฐ๋ฉด
JNI๋ฅผ ์จ์ C++์ ํ์ ๋น๋ฆฌ๊ธฐ๋ ํ๋๋ฐ
๊ทธ์ ๋ ๋ ๋ฒจ์ด ํ์ํ ๊ฒ์์ ๋ง๋ ๋ค๋ฉด
์ ๋ฌธ๊ฐ๋ฅผ ๊ตฌํ๋๊ฒ ๋ซ๊ณ
์ ๋ฌธ๊ฐ๋ฅผ ๋ชป๊ตฌํ๊ฒ ์ผ๋ฉด ์์ฉ ๊ฒ์ ์๋ฒ ์์ง์
๋์ ํ๋๊ฒ ์ฐจ๋ผ๋ฆฌ ๋์ ๋ฏ ์ถ์ด
๊ทธ๋ฆฌ๊ณ ์คํ๋ง๋ถํธ๋ฅผ ์ถ์ฒํ๋ ์ด์ ๋
Spring security๋ฅผ ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ด์ผ
์์ฒด ๋ก๊ทธ์ธ ๊ธฐ๋ฅ์ด๋ ์ธ๋ถ ๋ก๊ทธ์ธ ์ฐ๋ (Oauth2.0) ๋ฑ์
์ฝ๊ฒ ๊ตฌํํ ์ ์์ด
์ฌ๊ธฐ์ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ์ง์ ๊ฐ๋ฐ๋ ๋ชปํ๋
์ ๋ก๊ทธ์ธ์ ๊ฐ์ ธ๋ค ์ฐ๋๋ ์ ๋ค๋ ์์ํ ๋ฐ
์ด์คํ๊ฒ ๋ง๋ค๋ค๊ฐ ์งฑ๊ฐ ์ ๋คํํ ์๋ฒ ํธ๋ ค์
๊ฐ์ธ์ ๋ณด ์ ์ถ ๋์๋ค๊ณ ์ง์ง ์ง๋ฉด์ ๊ณต์ง ์ฌ๋ฆฌ์ง ๋ง๊ณ
ํ๋ด ๋ณด์ ๋ด๋น์๊ฐ ์๋ค๋ฉด ๋ชจ๋ฅผ๊น
์์ผ๋ฉด ๊ฐ๋ฐ๋ถ์ฌ ๋ถ๋ฆฌ์ง ๋ง๊ณ ๋ณด์์ ์ธ ๋ถ๋ถ์
๊ฒ์ฆ๋ ์๋ฃจ์ ์ ๋งก๊ฒจ
๋๋ต์ ์ผ๋ก 1๋ฌ์ด๋ฉด ์คํ๋ง๋ถํธ์ ์ต์ํด์ง ์ ์๋๋ฐ
์คํ๋ง ๋ถํธ ์ฑ ์ ์ฐพ๋๋ค๋ฉด
๊ฐ๊ธ์ ์ด๋ฉด ์ ์๊ฐ ์ธ๊ตญ์ธ์ธ ๋ฒ์ญ์๋ฅผ ๊ณจ๋ผ
Spring framework๋ฅผ ๋ณด๋ค ์ฝ๊ฒ ์ฐ๋ผ๊ณ ๋์จ๊ฒ
spring boot์ธ๋ฐ... ํ๊ตญ์ SI ๋ฐ๋ฅ์ ํน์ฑ ์
์ด๋ ์ฑ ์ด๊ฑด spring framework๋ฅผ ๋ค๋ฃธ
์ด๋๊ฐ๋ ์๋ฆฌ ์ฐพ๋ ๋ณ์ ์ ์กด์ฌํด์
์คํ๋ง ํ๋ ์์ํฌ ๋ชจ๋ฅด๋๋ฐ ์คํ๋ง ๋ถํธ๋ฅผ ์ด๋ป๊ฒ ์ฐ๋๊ณ
๋ธ๋ธ์ด ์น๋ ์ ๋ค๋ ์๋๋ฐ
๋ชฐ๋ผ๋ ์ธ ์ ์๊ฒ ๋ง๋ค์ด ๋์๊ฒ spring boot์
์๋ฌด๊ฒ๋ ๋ชจ๋ฅธ๋ค๊ณ ๊ฐ์ ํ๋ฉด...
์๋ฒ๋ ๊ฐ๊ธ์ ๋ค๋ฃจ์ง ์๋ ๊ฒ์ ์ถ์ฒํจ
ํด๋ผ์ด์ธํธ๋ ๋ฐ์ ํํ๋ฉด ๊ฒ์์ด ๋๋ ค์ง ๋ฟ์ด์ง๋ง
์๋ฒ๋ ๋ฐ์ ํํ๋ฉด ๊ทธ๊ฒ ๋ค ๋น์ฉ์ผ๋ก ๋๋์์ฌ ๋ฟ๋๋ฌ
๊ฐ์ธ์ ๋ณด ์ ์ถ์ด๋ผ๋ ๋๋ฉด ๊ณจ์น์ํ์ง
์ ์จ์ผํ๋ค ์ถ์ผ๋ฉด
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ค๊ณ๊ฐ ๊ฐ๋ฅํ ์ ๋๋ก ๊ณต๋ถ๋ฅผ ํ๋๊ฒ ์ข์
์ค๊ณ์์ ๋ฐ์ํด์ผ ํ๋ ๊ฒ๋ค์
๊ฐ์ธ์ ๋ณด (์ด๋ฆ ๋์ด ์ฑ๋ณ ์ฃผ์ ์ฐ๋ฝ์ฒ)๋ฑ์ ๊ฐ๊ธ์
์์งํ์ง ๋ง๊ณ , ๋ง์ ํ๋ ์์งํ๋ฉด
๊ฒ์DB์๋ ๋ณ๋์ DB์ ์ํธํํด์ ๋ณด๊ดํด์ผํจ
ํด๋ฉด๊ณ์ ์ญ์ ๊ฒ์DB์๋ ๋ณ๋์ ํด๋ฉด๊ณ์ ์ฉ DB์
์ฎ๊ฒจ ๋ณด๊ดํด์, ๋ง์ํ๋ ๊ฒ์DB๊ฐ ํธ๋ ค๋
ํด๋ฉด๊ณ์ ์ ์ํธ๋ฆฌ๊ฒ ์กฐ์นํด์ผํจ.
๋ ๋ฅํ๊ฒ ๋ค์ด๊ฐ๋ฉด ๊ฒ์ ์ฝ๊ด ๊ฐ์ ๊ฒ๋ ๊ณ ์งํด์ผํ๊ณ
์ธ์ ๋์ํ๋์ง ๋์ ์ผ์๋ ์ ์ฅํด์ ์๋ฒ์ ๋ณด๊ดํด์ผํจ
์น ํ๋ ์์ํฌ๊ฐ ์ด๋๊ฒ ์ฝ๋ ์ด๋ ต๋ ํ๋๋ฐ
์ด์ฐจํผ Json์ผ๋ก ๋ฐ์ดํฐ ์ฃผ๊ณ ๋ฐ๋ API ๋ง๋ค๊ฑฐ๋ฉด
Spring boot๋ ์ถฉ๋ถํ ์ฝ๋ค๊ณ ๋ด
์ผ๋จ php๋ json ์ธ์ฝ๋ฉ ๋์ฝ๋ฉ ํด์ ์ฝ์งํด์ผ ๋๋๋ฐ ๋ฐํด
Spring boot๋ rest controller๋ก ๋ง๋ค์ด์
์ค๋ธ์ ํธ๋ฅผ returnํ๋ฉด ๊ทธ๊ฒ json ํํ๋ก ๋ ์ฐํ
๊ทธ๋ฆฌ๊ณ ์ ์ ๊ฐ ์์ฒญํ ํ๋ผ๋ฏธํฐ๋ ์ํ๋ ํด๋์ค ํํ๋ก
๋ฐ์ธ๋ฉ์ด ๊ฐ๋ฅ
์ ์ฐธ๊ณ ๋ก
์คํ๋ง์๋ DI(์์กด์ฑ ์ฃผ์ )ํ๊ณ IoC(์ ์ด์ ์ญ์ )์ด๋
๊ฐ๋ ์ด ์กด์ฌํ๋๋ฐ
์ด๊ฒ ๊ฒฝ์ฐ์ ๋ฐ๋ผ์๋ ๊ต์ฅํ ์์ํ ๊ฐ๋ ์ด ๋ ์๋ ์์ด
์ต์ํด์ง๋ฉด ์ ๋ง ํธํ์ง๋ง ์๋ง์ผ๋ฉด ์คํ๋ง ๋ณด๋ค๋ ๋ค๋ฅธ
ํ๋ก์ ํธ๊ฐ ์ ํฉํ ์ง๋ ๋ชฐ๋ผ
์ด์จ๋ DI์ IoC๋ฅผ ํตํด์ ๊ฐ๋ฐ์๊ฐ ์ป์ ์ ์๋ ํํ์
์ฝ๋ ์์กด์ฑ์ ์ค์ฌ์ ์ฌ์ฌ์ฉ์ฑ์ ๋์ด๊ณ
์์กด์ฑ์ด ์ค์ด๋ ๋งํผ ๊ฐ๊ฐ์ ๊ธฐ๋ฅ์ ๋จ์ ํ ์คํธํด๋ณผ ์ ์์ด
๋จ์ํ ์คํธ๋ ์ฝ๊ฒ ๋งํด ๊ฐ๊ฐ์ ๊ธฐ๋ฅ์ ๋ฏ์ด์ ํ ์คํธํ๋ ๊ฑด๋ฐ
๊ฐ๋ น ๋ก๊ทธ์ธ ๋ถ๋ถ์ ํ ์คํธ ํ๋ค๊ณ ํ๋ค๊ณ ํ๋ฉด
ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ฌ ๋ฐ๋ ๋ถ๋ถ
ํจ์ค์๋๋ฅผ ๋น๊ตํ๋ ๋ถ๋ถ
์ ์ ์ ๋ณด๋ฅผ ๋ถ๋ฌ์ค๋ ๋ถ๋ถ
์ด๋ฐ์์ผ๋ก ๊ฐ๊ฐ์ ๊ธฐ๋ฅ์ ํ ์คํธํด๋ณผ ์ ์์ด
์ด๊ฒ ๋ญ ๊ทธ๋ฆฌ ๋๋จํ ์ผ์ธ๊ฐ ์ถ์ง๋ง
๋จ์ํ ์คํธ๊ฐ ์๋๋ ํ๊ฒฝ... PHP์์๋ ๊ฐ๊ฐ์ ๋ถ๋ถ์
๋๋ฒ๊น ๋ก๊ทธ ์ฐ๊ฒ ํด๋๊ณ
์๋ฒ์ ์ ์ํด์ ๋ก๊ทธ ์ฐํ๋๊ฑฐ ๋ณด๋ฉด์
์ด๋๋ถ๋ถ์ด ๋ฌธ์ ์ธ์ง ํ์ธ์ ํด๋ด์ผํด
๋ฐ๋ฉด์ ๋จ์ํ ์คํธ๋ฅผ ํ๊ฒ ๋๋ค๋ฉด
๊ฐ๊ฐ์ ์ํฉ์ ๊ฐ์ ํ๊ณ ๋๋ฏธ ๋ฐ์ดํฐ๋ฅผ ๋์ ธ์ฃผ๊ณ
๊ทธ์ ๋ํ ๊ฒฐ๊ณผ๊ฐ์ ๋น๊ตํด๋ด์ผ๋ก์จ
ํด๋น ๋ถ๋ถ์ด ์ ๋์๊ฐ๋์ง ์๋์ง ๊ฒ์ฆ์ ํด๋ณผ ์ ์์ด
๋ง์ง๋ง์ผ๋ก ์คํธ๋ ์ค ํ ์คํธ๋ Jmeter๋
nGrinder๋ฑ์ด ์๋๋ฐ
๊ฐ๊ฐ์ endpoint ๊ทธ๋ฌ๋๊น api ํธ์ถ๋๋ url ๊ฒฝ๋ก๋ฅผ
๋ฃ๊ณ api๋ฅผ ํ ์คํธํด๋ณผ ์ ์์ด
๋จ์ ์กฐํ ๊ฐ์ ๊ฑฐ๋ ์๋ต์๋๊ฐ 10ms ์ด๋ด๋ก ๋์์ผํด
๊ทธ๋ฌ๋ฉด ํฐ์บฃ์๋ฒ๊ฐ ์ต๋ ์ ์์์๋ฅผ 100๋ช , ์ต๋์ฐ๋ ๋ ์๋ฅผ
100๊ฐ ์ด์(๋ณดํต์ ์ต๋ ์ ์์ ์์ 2๋ฐฐ ์ ๋) ์ค์ ํด๋์ผ๋ฉด
์ด๋ก ์ ์ผ๋ก๋ ์ด๋น 1๋ง๊ฑด์ ์์ฒญ์ ์ฒ๋ฆฌํ ์ ์์ด
๋ฌผ๋ก ์๋ฒ cpu ์ฌ์ฉ๋๊ณผ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ๋ด๊ฐ๋ฉด์
์๋ฒ์์ ๋ฒํธ ์ ์๋ ์ต๋ ์ ์์ ์์ ์ต๋ ์ฐ๋ ๋ ์๋ฅผ
๊ฒฐ์ ํ๋ฉด ๋จ.
๋ฌผ๋ก aws ํ๋ฆฌํฐ์ด ๊ฐ์ ๊ฑฐ์์ ์๋ฒ 1๋ ์ด๋น 1๋ง๊ฑด ๊ฐ๋ฅ?
์ด์ง๋ ํ๋ฉด ์๊ตฌ์ฐฝ ๋๋ ค์ผ ํ๊ณ
๋ชปํด๋ ์์ฉ์๋ฒ๋ 4์ฝ์ด 8๊ธฐ๊ฐ ์ง๋ฆฌ ์จ ์ฃผ์
์ ๋ช๋ง์ ์ง๋ฆฌ์ผ.
๋ณดํต์ cpu๊ฐ 20~30% ์ ๋ ์ฌ์ฉ๋๋ฉด
์๋ฒ ์ฆ์ค์ ํด์ผํ๋ ์์ ์ธ๋ฐ...
์ ๋ชฐ๋ผ ๋๊น์ง ๊ฐ์ ใ ใ ํ๋ฉด์ 80~90%๊น์ง ์ฐ๋ฉด
์ด๋ก ์ ์ผ๋ก๋ ์ด๋น 10๋ง๊ฑด๋ ๊ฐ๋ฅํ์ง๋ง...
์ง์ง ์ด๋ฐ๊ตฌ๋ก ์ฐ๋ฉด ์๋ํ๋ฉด ์๋ฒ ๋ค์ง๋ ๊ฑฐ๋๊น
์์ด ์๋ฒ 1๋๋ก ๋ฌด์จ TPS 10๋ง๊ฑด์ด์์ ํ๋ฉด
์ฌ์ค ๋ง๋ ๋ง์. ์บ์ ์๋ฒ๊ฐ ๋ชป๋ฒํธ๊ป?
์บ์์๋ฒ๋ ์๋ฒ ์ฌ์์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๊ฒ ์ง๋ง
๊ฐ์ ์ฌ์์์ mysql์ด tps 200๊ฑด ๋์จ๋ค์น๋ฉด
Redis๋ 40000๊ฑด ์ ๋ ๋์จ๋ค ๋ณด๋ฉด ๋จ.
๋ฌผ๋ก 4๋ง๊ฑด ๋๋ฌ ํ ๋๊น์ง ๋๋์ง ์๊ณ
๋ณดํต์ 1๋ง๊ฑด ์ํ์ผ๋ก ์ ์งํ ์ ์๊ฒ ๋ ๋์ค ์๋ฒ๋ฅผ ๋๋ฆผ
์ฆ Was๊ฐ ์ด๋น 10๋ง๊ฑด์ ์์ฒญํ๋ฉด ๋๋ต ๋ ๋์ค ์๋ฒ๋
๋ถ์ฐ์ฒ๋ฆฌ๋ฅผ ์ํด์ 10๋๊ฐ ํ์ํ๋จ ๊ฑฐ์.
๋ฌผ๋ก ์ ๋๋ก ๊ฐ๋ ๋ฐํ ํ์ฌ๋... was ํ๋์ 10๋ง๊ฑด
๋ฌผ๋ฆฌ๊ฒ ๋ ๋์ง ์๋๋ฐ... ์๋ฒ ํญ์ฃผ ์ค์ด๋ผ๊ณ ๋ก๊ทธ์ธ ๋๊ธฐ
์ํค๋ ํ์ฌ๋ ๋ง์ด ใฒใฒ ๋ชจ๋ ํ์ฌ๊ฐ ์คํ ์ค์ผ์ผ์
๊ฐ์๊ฑธ ํ๋๊ฑด ์๋
์ฐ๋ค๋ณด๋ ์กด๋ ๊ธธ์ด์ก๋ค...
์ํผ ๊ฒ์ ์๋ฒ ๊ตฌ์ถ์ ๋์ ํ๋ ์ฌ๋์ ํ์ดํ ํด
์ฒซ์ค๋ณด๊ณ ์์ฝ๊ณ ๋๊ธ๋จ๋ค web was ๋ ๊ตฌ๋ถํด์ผ์ง ์ ๊ฐ์๊ฑฐ ์ทจ๊ธํจ
๋๊ฐ์ด๋ผ ๊ทธ๋ ์ฌ์ต๋๋ค. ์์ผ๋ก๋ ์น ์ดํ๋ฆฌ์ผ์ด์ ์๋ฒ๋ผ๊ณ ํ๊ฒ ์๋๋ค
ํ์ฌ์์ ์ฐ๋ ์คํ์ฐ๋ฉด ์ผํ๋ ๋๋๋์ ์์ผ๋๋ฐ, ๊ฒฐ๊ตญ ์ฐ๊ฒ๋์๋ ใ ใ
ํ์ฌ์์๋ ๊ฒ์ฆ๋ ๊ฑธ ์ฐ๋๊น...
์ํด
์ ํ.๋ธํ๋ฆฌ.๋ฏธ์, ์ฑ์งํผํฐ, ๋ท.ํ ๋ฑ OTT ํ ์ธ(์ต๋70%) +
https://gamsgo.com/details/youtube/partner/DrKPG
์ด๋ฐ๊ณ ๊ธ์ ๋ณด๋ฅผ ๊ณ ๋ง๋ค ์ถ
์ฝ์ด์ค์ ๊ณ ๋ง์ก
๋ผ์ฆ๋ฒ ๋ฆฌํ์ด๋ก ๊ฐ๋จํ ์๋ฒ ๋ง๋๋ ๊ฐ์ ํ๋ฒ ์ฌ๋ ค์ผ๊ฒ ๋ค
์ต์ ํ ์ฌ์ ์ฉ๋๋ฐ ๊ทธ๊ฑฐ
์ ์ฑ์ถ
ใ ใ
๋์ฃฝํ
๊ฐ์ฌํฉ๋๋ค ์์ฝ์์ด์!
์ ๋ง ์์ฝ์์ต๋๋ค ๊ฐ์ฌํฉ๋๋ค.
๊ทธ๋ฅ ํ์ด์ด๋ฒ ์ด์ค ํํน ๊ฐ์๊ฑฐ ์ฐ๊ฑฐ๋ P2P๋ ๋ฆฌ์จ์๋ฒ๋ฐฉ์์ ๋๊ฐ ์ธ๋๊ฒ์ ํ๊ณ๊ธฐ๋ ํ๊ณ ์ถฉ๋ถํจ
๋๋ฌด ๊ฐ์ฌํฉ๋๋ค.
๋์์ด ๋์ต๋๋ค