ใLUVIT ์ค์ ๋ฐฑ์๋ ๋ฌ์คํธ Axum ํ๋ก๊ทธ๋๋ฐใ ์ํ
๐ ์ฑ
์ ์ฝ๊ฒ ๋ ๊ณ๊ธฐ
Rust๋ ์์ ์ฑ๊ณผ ์ฑ๋ฅ ์ธก๋ฉด์์ ๋งค์ฐ ๊ฐ๋ ฅํ ์ธ์ด๋ก ํ๊ฐ๋ฐ๊ณ ์์ผ๋ฉฐ, ํนํ ๊ณ ์ฑ๋ฅ ์๋ฒ๋ ๋ณ๋ชฉ ๊ตฌ๊ฐ์ ํด๊ฒฐํด์ผ ํ๋ ํ๊ฒฝ์์ ์ฃผ๋ชฉ๋ฐ๊ณ ์์ต๋๋ค. ์ ์ญ์ ์ค๋ฌด์์ Rust์ ๊ฐ๋ฅ์ฑ์ ๋๋ผ๊ณ ์์์ง๋ง, ๋ง์ ๋
ํ์ ์๋ํด๋ณด๋ฉด ํ๊ตญ์ด ์๋ฃ๊ฐ ๋ถ์กฑํ๊ณ , ๋ฌ์คํธ ์ํ๊ณ๋ฅผ ์ตํ๋ ๋ฐ ํ๊ณ๊ฐ ์๋ค๋ ์ ์ด ๋ ๊ฑธ๋ฆผ๋์ด์์ต๋๋ค.
๊ทธ๋์ ๋ ์ด์ ๋จํธ์ ์ธ ์์ ๋ ํด์ธ ํํ ๋ฆฌ์ผ์ ์์กดํ์ง ์๊ณ , Rust๋ก ์ค์ ๋ฐฑ์๋ ์๋น์ค๋ฅผ ๊ตฌํํด๋ณด๋ ์ ๋๋ก ๋ ํ์ต์๋ฅผ ์ฐพ๊ณ ์๋ ์ค ์ด ์ฑ
ใLUVIT ์ค์ ๋ฐฑ์๋ ๋ฌ์คํธ Axum ํ๋ก๊ทธ๋๋ฐใ์ ์ ํ๊ฒ ๋์์ต๋๋ค. Rust๋ก ๋ฐฑ์๋๋ฅผ ์ง์ ๊ตฌ์ฑํ๋ ํ๋ฆ์ ๋ฐ๋ผ๊ฐ๋ฉฐ, ์ฒด๊ณ์ ์ผ๋ก ๋ฐฐ์ฐ๊ณ ์ถ์ ๋ถ๋ค์๊ฒ ์ ๊ฒฉ์ด๋ผ๊ณ ์๊ฐํ์ต๋๋ค.
๐ฌ ๊ฐ์ ๋ฐ ๋ถ์
- Rust๋ฅผ ์ฒ์ ์ ํ๋ ๋
์์๊ฒ๋ ์ง์
์ฅ๋ฒฝ์ด ๋ค์ ๋๊ฒ ๋๊ปด์ง ์ ์์ต๋๋ค. ์์ํ ๋ฌธ๋ฒ๊ณผ ๊ฐ๋
(Rust์ ์์ ๊ถ, ํธ๋ ์ดํธ ๋ฑ)์ด ๋ฐฑ์๋ ๋ก์ง๊ณผ ํจ๊ป ๋์ ์ฒ์์๋ ์ด๋ ค์์ ๊ฒช์์ต๋๋ค.
โ ๊ฐ์ ์ ์์ ์
๋ฌธ์์ธ ใํ์ด์ฌ๊ณผ ๋น๊ตํ๋ฉฐ ๋ฐฐ์ฐ๋ ๋ฌ์คํธ ํ๋ก๊ทธ๋๋ฐใ์ ๋จผ์ ์ฝ๊ณ ์ค๋ ๊ฒ์ ๊ฐ๋ ฅํ ์ถ์ฒํฉ๋๋ค.
- ์ฑ
์์ ๋ค๋ฃจ๋ ๊ธฐ์ ๋ฒ์๋ ๋งค์ฐ ํ๋์ ์ธ ๋ฐฑ์๋ ๊ฐ๋ฐ ํ๋ฆ๊ณผ ์ ๋ง๋ฟ์ ์์ต๋๋ค.
REST API, ํ๋ก์ ์๋ฒ ๊ตฌ์ฑ, ์น์์ผ ํต์ , ์ธ์ฆ ์ฒ๋ฆฌ, SeaORM์ ํตํ DB ์ฐ๋ ๋ฑ ์ค๋ฌด์์ ์ ํ๋ ๋๋ถ๋ถ์ ๊ธฐ๋ฅ์ Rust๋ก ๊ตฌํํด๋ณผ ์ ์์ด ์ข์์ต๋๋ค.
- ๊นํ๋ธ ์์ ์ฝ๋์ ์์ฑ๋์ ์น์ ํจ๋ ์ธ์์ ์
๋๋ค. Rust ๋ฌธ๋ฒ์ด ์ต์ํ์ง ์๋๋ผ๋, ์ค์ต์ ๋ฐ๋ผ๊ฐ๋ค ๋ณด๋ฉด ์์ฐ์ค๋ฝ๊ฒ ๋ฌธ๋ฒ๊ณผ ์ค๊ณ๋ฅผ ์ดํดํ๊ฒ ๋ฉ๋๋ค.
- ์ฑ์ฑ ๊ตฌํ์ด๋ ORM ๊ด๋ จ ๋ถ๋ถ์ ์ค๊ฐ์ค๊ฐ ๊ฒ์์ด ํ์ํ์ง๋ง, Rust๋ก ์ง์ ๊ตฌํํ๋ฉด์ ๋ฌ์คํธ ์ํ๊ณ๋ฅผ ์ดํดํ๋ ๋ฐ ํฐ ๋์์ด ๋์์ต๋๋ค.
โ๏ธ ์ฅ์ ๊ณผ ๋จ์
โ
์ฅ์
- ์ค์ ํ๋ก์ ํธ ์ค์ฌ์ผ๋ก ๊ตฌ์ฑ๋์ด ์ค๋ฌด ๊ฐ๊ฐ์ ์ตํ๊ธฐ์ ์ข์
- ๋ค์ํ ๋ฐฑ์๋ ๊ธฐ์ (Router, WebSocket, ORM ๋ฑ)์ Rust๋ก ๊ตฌํํ ์ ์์
- ๊นํ๋ธ ์์ ๊ฐ ์ค์ต์ ํฐ ๋์์ด ๋จ
โ ๏ธ ๋จ์
- Rust๋ฅผ ์ฒ์ ์ ํ๋ค๋ฉด ๋ค์ ๋์ด๋๊ฐ ์์
- ๋ฐฑ์๋ ๊ฐ๋ฐ ๊ฒฝํ์ด ์๋ ์ด์ฌ์์๊ฒ๋ ์ด๋ ค์ธ ์ ์์
๐ฏ ์ถ์ฒ ๋์
- Rust๋ฅผ ๊ณต๋ถ ์ค์ด๋ฉฐ, ์ด๋ก ์ด ์๋ ์ค์ ๋ฐฑ์๋ ํ๋ก์ ํธ๋ฅผ ๊ตฌ์ฑํด๋ณด๊ณ ์ถ์ ๋ถ
- Node.js, Python ๋ฑ์์ Rust๋ก ๋์ด์ค๊ณ ์ถ์ ๋ฐฑ์๋ ๊ฐ๋ฐ์
- ๋จ์ ์์ ์์ค์ด ์๋, ํ๋์ ์์ฑ๋ ์๋น์ค๋ฅผ Rust๋ก ๊ตฌํํด๋ณด๊ณ ์ถ์ ํ์ต์
โ
๋ง๋ฌด๋ฆฌ
Rust์ ๋งค๋ ฅ์ ์ค์ ์์ ์ฒด๊ฐํ๊ณ ์ถ์ ๊ฐ๋ฐ์๋ผ๋ฉด, ์ด ์ฑ
์ ์ข์ ์ ํ์ด ๋ ์ ์์ต๋๋ค. ํํ ๋ฆฌ์ผ์ ๋์ด ์ค๋ฌด์ ์ธ ๊ฐ๊ฐ๊ณผ ๊ตฌ์กฐ์ ์ธ ๋ฐฑ์๋ ์ค๊ณ๋ฅผ ๊ฒฝํํด๋ณด๊ณ ์ถ์ ๋ถ๋ค์๊ฒ ํนํ ์ถ์ฒํ๊ณ ์ถ์ต๋๋ค.
โ๏ธ ์ด ๋ฆฌ๋ทฐ๋ ์ ์ดํ ์ํ๋จ์ ์ฐธ์ฌํ์ฌ ๋์๋ฅผ ์ฆ์ ๋ฐ๊ณ , ์ง์ ์ฝ์ ๊ฒฝํ์ ๋ฐํ์ผ๋ก ์์ฑํ ์ํ์
๋๋ค.