๐ ๋ฌด๋ฃ ๊ณ์ ์ ๋ถ๊ฐ๋ฅ / ๋ค๋ง, 20๋ช ์ด ์๋ ๋ฐฉ์ ๋ ๋๋ ์๋ ์์
โ 3D ์บ๋ฆญํฐ ๋ชจ๋ธ๋ง ์ฌ์ฉํ๋ ๋์ ์๋๋ก์ด๋ ๋ชจ์ ์ ์ถ๊ฐํ๊ธฐ๋ก ํ๋ค. => ์บ๋ฆญํฐ์ ์ ๋๋ฉ์ด์ ์ด ๋ค์ด๊ฐ ์๋๊ฒ ์ฒ๋ผ ๋ณด์ด๊ธฐ
์ ์ฅ์ ์ด๋ป๊ฒ ํด์ผํ ๊น? Unity์์ ๋ง๋ ํ์ผ์ ec2์ s3์ ์ ์ฅํด๋๊ณ ์ฌ์ฉํ๋๊ฒ ๋ง๋? ํ์ผ์ ๋ณ๋์ฌํญ์ด ํ์ํ ๊ฒฝ์ฐ๋ ์ด๋ป๊ฒ ํด์ผํ ๊น?
์ ์ ์ ์์จ์ฑ์ ์ฃผ๋๊ฒ ๊ฐ๋ฅํ๊ฐ?
๐ ๋ชจ๋ฐ์ผ์์ OBJํ์ผ์ JSON์ผ๋ก ์์ ํ ๋ฐฉํฅ์ผ๋ก ์ก๊ณ ์๋ค. ์ด๋ ๊ฒ ๋๋ฉด ์ ์ฅ๊ณต๊ฐ์ ์ ์ฅ๋ OBJํ์ผ์ ์ฃผ์๊ฐ์ DB์ ์ ์ฅํด ๋๊ณ ์๋ค๊ฐ API๊ฐ ํธ์ถ๋ ๋, ํ์ผ์ ํ์ ํตํด ๋ชจ๋ฐ์ผ ํ๋ฉด์ 3D ์ผ๋ฆญํฐ๋ฅผ ๋์ธ ์ ์๋ค.
๐ ๋ก๊ทธ์์ ๊ด๋ จ JWT refreshtoken์ Redis๋ฅผ ์ฌ์ฉํ๋ค.
๐ MSA (MircroService Architecture), spring cloud, eureka ์ฌ์ฉ
[ ๋ฐฐ๋ฏผ API GATEWAY โ spring cloud zuul ]
๐ Master, Slave DB
[ DB : Master & Slave ๊ฐ๋ ์ ๋ํด ์์๋ณด์ ]
๐ MSA (MircroService Architecture) ์ฌ์ฉ
์ฐธ๊ณ :
[ MSA๋?(๋ฑ์ฅ๋ฐฐ๊ฒฝ, ํน์ง, ์ฅ๋จ์ ) ]
[ MSA ์ ๋๋ก ์ดํดํ๊ธฐ ]
์คํ๋ง ํด๋ผ์ฐ๋: https://spring.io/projects/spring-cloud
[ ์คํ๋ง ํด๋ผ์ฐ๋ ]
[ ์๋น์ค ๋์ค์ปค๋ฒ๋ฆฌ Spring Cloud Discovery , eureka ]
[ Spring Cloud Gateway๋ฅผ ์ด์ฉํ ์๋น์ค ๋ผ์ฐํ
๋ฐ JWT ํ ํฐ ๊ฒ์ฆ ]
์ฝ๋์ฐธ๊ณ : [ Spring Cloud - Eureka, API Gateway ]
๐ Spring restDocs์ Swagger UI ์กฐํฉ
๐ํด๋ผ์ด์ธํธ ํ์ ์ HTTP ํค๋์ ์์ฒญํ๊ธฐ
JWT ํ ํฐ์ ์ฌ๋ฌ ๋๋ฐ์ด์ค์์ ๋์์ ๋ก๊ทธ์ธํ๋ ค๋ฉด, ํด๋ผ์ด์ธํธ ํ์ (์น, ๋ชจ๋ฐ์ผ, ์ ๋ํฐ ๋ฑ)์ ๋ฐ๋ผ ํ ํฐ์ ์์ฑํ๊ณ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ค์์ ์ด๋ฅผ ๊ตฌํํ๋ ๋ฐฉ๋ฒ ์ค ํ๋์ ๋๋ค:
- ๋๋ฐ์ด์ค ์ ๋ณด๋ฅผ ์์ฒญ์ ํฌํจ์ํค๊ธฐ: ๋ก๊ทธ์ธ ์์ฒญ ์ ํด๋ผ์ด์ธํธ๊ฐ ์ด๋ค ํ์ ์ ๋๋ฐ์ด์ค์์ ์ค๋์ง ์ ๋ณด๋ฅผ ํจ๊ป ๋ณด๋ผ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, HTTP ํค๋๋ ๋ณ๋์ ํ๋๋ก ์ด ์ ๋ณด๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค.
- ํ ํฐ ์์ฑ ์ ๋๋ฐ์ด์ค ์ ๋ณด ํฌํจํ๊ธฐ: JWT ํ ํฐ์ ์ผ์ข ์ JSON ๊ฐ์ฒด๋ก์ ์ฌ๋ฌ ๊ฐ์ง ์ ๋ณด(payload)๋ฅผ ๋ด์ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์๋ฒ์์๋ ๋ก๊ทธ์ธ ์์ฒญ ์ ๋ฐ์ ๋๋ฐ์ด์ค ์ ๋ณด๋ฅผ ์ด payload์ ํฌํจํ์ฌ ํ ํฐ์ ์์ฑํฉ๋๋ค.
- ๋๋ฐ์ด์ค๋ณ๋ก ํ ํฐ ์ ์ฅ ๋ฐ ๊ด๋ฆฌํ๊ธฐ: ์๋ฒ๋ ๊ฐ๊ฐ์ ๋๋ฐ์ด์ค ํ์ ๋ณ๋ก ์์ฑ๋ JWT ํ ํฐ๋ค์ ๊ด๋ฆฌํด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฌ์ฉ์ ID์ ํจ๊ป ํด๋น ID๊ฐ ๋ฐ๊ธํ ๊ฐ๊ฐ์ ์ฅ์น๋ณ JWT ํ ํฐ๋ค์ ์ ์ฅํ ์ ์์ต๋๋ค.
- ์์ฒญ ๊ฒ์ฆ ์ ๋๋ฐ์ด์ค ํ์ธํ๊ธฐ: ์๋ฒ๊ฐ ์์ฒญ์ ๋ฐ์์ ๋ ํด๋น ์์ฒญ์ JWT ํ ํฐ๊ณผ HTTP Header ํน์ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ์ ๋ฌ๋ ์ฅ์น์ ๋ณด๊ฐ ์ผ์นํ๋์ง ํ์ธํฉ๋๋ค.
์์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ๊ตฌํํ๋ค๋ฉด, ๋์ผํ ์ฌ์ฉ์๊ฐ ๋ค๋ฅธ ์ฅ์น์์ ๋ก๊ทธ์ธ ํ ๊ฒฝ์ฐ ๊ฐ๊ฐ ๋ค๋ฅธ JWTํ ํฐ๋ค์ ๋ฐ๊ธ ๋ฐ๊ฒ ๋๋ฉฐ ์๋ฒ๋ ์ด๋ค ๊ฐฑ์ ํน์ ๋ง๋ฃ ๋ฑ ์ํ๊ด๋ฆฌ๋ ๊ฐ๋ณ์ ์ผ๋ก ํ ์ ์๊ฒ ๋ฉ๋๋ค.
๐ ์์ธํ ์ฌํญ์ [ ๋ค์ค ๋๋ฐ์ด์ค ๋์ ๋ก๊ทธ์ธ๊ณผ JWT TOKEN (1) ] ์์ ํ์ธํ๋ค.
โ ์ต์ข ๊ฒฐ์ : Sec-Ch-Ua-Platform
โ ๋จผ์ , http ํค๋์ Sec-Ch-Ua-Platform์ ์ฝ๋๋ค. Linux, Windows, mac OS, Chrome OS ์ด๋ฉด ์น์ด๋ผ ํ๋จํ๊ณ accesstoken๊ฐ๊ณผ refreshtoken์์ ๋ฐ๊ธํ๋ค. Android์ ๊ฒฝ์ฐ ๋ชจ๋ฐ์ผ์ด๋ผ๊ณ ํ๋จํ๊ณ accesstoken๊ฐ๊ณผ refreshtoken์์ ๋ฐ๊ธํ๋ค. null ๊ฐ์ด๋ฉด unity๋ผ๊ณ ํ๋จํ๊ณ accesstoken๊ฐ๊ณผ refreshtoken์์ ๋ฐ๊ธํ๋ค. token์ด ํ์์๋ ์์น์ ๊ฒฝ์ฐ api๋ฅผ ๋ฐ๋ก ์ง์ ํ์ฌ apigate์์ filter๋ฅผ ๋ฏธ์ ์ฉํ๋๋ก ํ๋ค.