๐ก ์๋ฒ์ ์๋น์ค
์๋ฒ(Server)
: ํด๋ผ์ด์ธํธ์๊ฒ ๋คํธ์ํฌ๋ฅผ ํตํด ์ ๋ณด๋ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ์ปดํจํฐ ์์คํ ์ผ๋ก ์ปดํจํฐ ํ๋ก๊ทธ๋จ ๋๋ ์ฅ์น๋ฅผ ์๋ฏธํ๋ค.
์๋ฅผ ๋ค์ด์, ์ง๋ ์ฃผ๋ง์ ์์ฒญ ๋ง์๋ ์๋น์ ๊ฐ๋๋ฐ ์์์ด ๋๋ฌด ๋ง์์ด์ ์ด ์ ๋ณด๋ฅผ ๊ณต์ ํ๊ณ ์ถ์ ์ํฉ์ด ์๋ค๊ณ ๊ฐ์ ํ์. ๊ทธ๋ฌ๋ฉด ๋ด ์ปดํจํฐ์ ๊ทธ ์ฌ์ง๋ค์ ์ฌ๋ ค๋๊ณ ๋ค๋ฅธ ์ปดํจํฐ๋ค์ด ์ ๋ณด๋ฅผ ์ ์ํด์ ํ์ธํ ์ ์๋๋ก ํ๋ ๊ฒ์ด๋ค. ๊ทธ๋ฌ๋ฉด ๋ด ์ปดํจํฐ๊ฐ '์๋ฒ' ์ญํ ์ ํ๋ ์๋ฒ ์ปดํจํฐ๊ฐ ๋๋๊ฒ์ด๋ค.
์๋น์ค(Service)
: ์ฝ๊ฒ ๋งํด์ ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์๊ฒ ์ ๊ณตํ๋ ๋ฌด์ธ๊ฐ๋ฅผ ์๋ฏธํ๋ค.
๐ก ํด๋ผ์ด์ธํธ - ์๋ฒ์ ๊ด๊ณ
: ํด๋ผ์ด์ธํธ/์๋ฒ๋ ๋ ๊ฐ์ ์ปดํจํฐ ํ๋ก๊ทธ๋จ ์ฌ์ด์ ์ด๋ฃจ์ด์ง๋ ์ญํ ๊ด๊ณ๋ฅผ ๋ํ๋ด๋ ๊ฒ์ด๋ค. ํด๋ผ์ด์ธํธ๋ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์๊ฒ ์๋น์ค๋ฅผ ์์ฒญํ๋ ํ๋ก๊ทธ๋จ์ด๊ณ , ์๋ฒ๋ ๊ทธ ์์ฒญ์ ๋ํด ์๋ต์ ํด์ฃผ๋ ํ๋ก๊ทธ๋จ์ด๋ค.
์๋ฅผ๋ค์ด, ํ์ด์ค๋ถ์ ๊ด๋ฆฌํ๋ ๊ด๋ฆฌ์ ๋๋ ๊ฐ๋ฐ์๋ '์๋ฒ'๊ฐ ๋๋ฉฐ, ํ์ด์ค๋ถ์ด๋ผ๋ ์๋น์ค๋ฅผ ์ด์ฉํ๋ ์ฐ๋ฆฌ๋ 'ํด๋ผ์ด์ธํธ'๋ผ๊ณ ํ ์ ์๋ค.
๐ก ์๋ฒ์ ๋์ ๋ฐฉ์๊ณผ ์์(์์ฒญ์ด ๋ค์ด์์ ๋ ์๋น์ค๊ฐ ์ด๋ป๊ฒ ์ฒ๋ฆฌ๋๋๊ฐ?)
- ์ฌ์ฉ์(Client)๊ฐ ์น ํ์ด์ง์ ์ ์ํ๊ธฐ ์ํด ๋๋ฉ์ธ ์ฃผ์(URL)๋ฅผ ์ ๋ ฅํ๋ค.
- DNS์์ ์ ๋ ฅ๋ ๋๋ฉ์ธ ๊ฐ์ IP์ฃผ์๋ก ๋ณํํ์ฌ ์น ๋ธ๋ผ์ฐ์ ๋ก ์ ์กํ๋ค.
- ์ ์ก๋ฐ์ ์น ํ์ด์ง ์ ๋ณด๋ฅผ HTTP ํ๋กํ ์ฝ์ ์ฌ์ฉํ์ฌ ์น ์๋ฒ ์ธก์ผ๋ก ์์ฒญ ๋ฉ์์ง๋ฅผ ์์ฑํ์ฌ ์ ์กํ๋ค.
- ์น ์๋ฒ์์ ์์ฒญ๋ฐ์ ๋ด์ฉ์ ๋ถ์ํ์ฌ URL ์ ๋ณด์ ํด๋นํ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ์ฌ ๊ฒฐ๊ณผ๊ฐ์ ๋ํ ์๋ต ๋ฉ์์ง๋ฅผ ์์ฑํ์ฌ ์น ๋ธ๋ผ์ฐ์ ๋ก ๋ค์ ์ ์กํ๋ค.
- ์ ์ก ๋ฐ์ ์๋ต ๋ฉ์์ง๋ฅผ ์น ํ์ด์ง ๋ฐ์ดํฐ๋ก ๋ณํํ๊ณ ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ํตํด ์ถ๋ ฅ๋์ด ์ฌ์ฉ์๊ฐ ๋ณผ ์ ์๊ฒ ๋๋ค.
๐ก ์๋ฒ์ ๊ตฌ์กฐ
- Server Program
1) ์น์๋ฒ
: ์น ๋ธ๋ผ์ฐ์ ์ ๊ฐ์ ํด๋ผ์ด์ธํธ๋ก๋ถํฐ HTTP ์์ฒญ์ ๋ฐ์๋ค์ด๊ณ , HTML ๋ฌธ์์ ๊ฐ์ ์น ํ์ด์ง๋ฅผ ๋ฐํํ๋ ์๋น์ค ํ๋ก๊ทธ๋จ
์ฐธ๊ณ ์๋ฃ ๐จ๐จ๐จ
https://ko.wikipedia.org/wiki/%EC%9B%B9_%EC%84%9C%EB%B2%84
2) nginx
: ๊ฐ๋ณ๊ณ ์ฑ๋ฅ์ด ๋์ ์น ์๋ฒ ์ํํธ์จ์ด๋ก ๋น๋๊ธฐ ์ด๋ฒคํธ ๊ธฐ๋ฐ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ํด๋ผ์ด์ธํธ๋ก๋ถํฐ ์์ฒญ์ ๋ฐ์์ ๋ ์์ฒญ์ ๋ง๋ ์ ์ ํ์ผ์ ์๋ตํด์ฃผ๋ HTTP Web Server๋ก ํ์ฉ๋๊ธฐ๋ ํ๊ณ Reverse Proxy Server๋ก ํ์ฉํ์ฌ WAS ์๋ฒ์ ๋ถํ๋ฅผ ์ค์ผ ์ ์๋ ๋ก๋ ๋ฐธ๋ฐ์๋ก ํ์ฉ๋๊ธฐ๋ ํ๋ค.
***nginx์ ํ๋ฆ
=> Event-Driven ๊ตฌ์กฐ๋ก ๋์ํ๊ธฐ ๋๋ฌธ์ ํ ๊ฐ ๋๋ ๊ณ ์ ๋ ํ๋ก์ธ์ค๋ง ์์ฑํ์ฌ ์ฌ์ฉํ๋ค.
์ ๊ทธ๋ฆผ์์ ๋ณผ ์ ์๋ฏ์ด Nginx๋ ์๋ก์ด ์์ฒญ์ด ๋ค์ด์ค๋๋ผ๋ ์๋ก์ด ํ๋ก์ธ์ค์ ์ฐ๋ ๋๋ฅผ ์์ฑํ์ง ์๊ธฐ ๋๋ฌธ์ ์์ฑ ๋น์ฉ์ด ์กด์ฌํ์ง ์๊ณ , ์ ์ ์์์ผ๋ก๋ ํจ์จ์ ์ธ ์ด์ฉ์ด ๊ฐ๋ฅํ๋ค. ๋ฐ๋ผ์ ๋จ์ผ ์๋ฒ์์๋ ๋์์ ๋ง์ ์ฐ๊ฒฐ์ ์ฒ๋ฆฌํ ์ ์๋ค.
์ฐธ๊ณ ์๋ฃ ๐จ๐จ๐จ
https://ko.wikipedia.org/wiki/Nginx
3) apache
: ์๋์์ด๋ ์น ์๋ฒ์ฉ ์ํํธ์จ์ด - HTTP ์ํ์น ์๋ฒ
์ธ๊ณ์์ ๊ฐ์ฅ ๋ง์ด ์ฐ๋ ์น ์๋ฒ ์ค ํ๋๋ก ์ ์ ์ธ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ค. ์ฒ๋ฆฌ ์๋๊ฐ ๋น ๋ฅด๊ณ ํธ๋ํฝ ๊ณผ๋ถํ์ ๊ฐํ๋ค๋ ์ฅ์ ์ด ์๊ณ , ๊ตฌ์กฐ๊ฐ ๋จ์ํ์ฌ ๋น์ฉ์ด ๋ง์ด ๋ค์ง ์๋๋ค. ํ์ง๋ง ์ ์ ์ธ ๋ฐ์ดํฐ๋ง ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ๊ณ ๋ค๋ฅธ ์๋น์ค์ ์ํธ์์ฉ์ด ๋ถ๊ฐํ๋ค๋ ๋จ์ ์ด ์๋ค.
- Back-end Language
- java - spring, spring boot
- javascript - node.js, expressExpress
- python - django, flask
- DB, DBMS
- SQL(๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค)
- Mysql : ์ธ๊ณ์์ ๊ฐ์ฅ ๋ง์ด ์ฐ์ด๋ ์คํ ์์ค์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ (RDBMS)์ด๋ค. ๋ค์ค ์ค๋ ๋, ๋ค์ค ์ฌ์ฉ์ ํ์์ ๊ตฌ์กฐ ์ง์์ด ํ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ ์ผ๋ก์ ์ค๋ผํด์ด ๊ด๋ฆฌ ๋ฐ ์ง์ํ๊ณ ์๋ค. RDBMS์ด๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ด๋ฆฌํ๊ฑฐ๋ ์๋ฃ๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํ GUI ํด์ ๋ด์ฅ๋์ด ์์ง ์๋ค.
- mssql : ์ด์์๊ฐ ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ๊ด๋ฆฌํจ์ ์์ด์ ์ฌ์ฉ์์ ํ์๊ด๋ฆฌ ๊ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ๋ฅผ ํด์ฃผ๋ ์น DB๋ผ๊ณ ํ ์ ์๋ค. ์ด๋ Microsoft์ฌ์์ ๋ง๋ค์๊ณ , ์น ์์์ ํ์๋ค์ ๊ด๋ฆฌํ ๋ ํ์๋ค์ ์ ๋ณด๋ฅผ DB์ ์ ์ฅํ๋ค๊ฐ DB์์ ํ์๋ค์ ์ ๋ณด๋ฅผ ๋ค์ ๋ถ๋ฌ์์ ๋ฆฌ์คํธ ํ์์ผ๋ก ์ถ๋ ฅํด์ฃผ๋ ์ญํ ์ ํ๋ค. ์ด๋ ์๋์ฐ ํ์์ผ๋ก ๊ด๋ฆฌ์๊ฐ ํธ๋ฆฌํ๊ฒ ๋ง๋ค๊ณ ๊ตฌํ์ ํ ์์๋ค๋ ์ ์ด ๊ฐ์ฅ ํฐ ํน์ง์ด๋ค.
- ORACLE : ๋ฏธ๊ตญ ์ค๋ผํด์ฌ์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ (RDBMS)์ ์ด๋ฆ์ผ๋ก ์ ๋์ค ํ๊ฒฝ์์ ์ฌ์ฉ๋๋ RDBMS๋ก๋ ํ์ฌ ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ ๋ํ์ ์ธ ์ ํ์ ํ๋์ด๋ค. ์๋ฅผ ๋ค์ด์, ๋งค์ผ์ ๊ธฐ์จ์ด๋ ์ ๊ฑฐ ํ๋ณด์์ ๋ํ ์ ๊ฐ์ ์ ๋ณด๋ค์ ์ธ๋ถ ์ธ๊ณ๋ก๋ถํฐ ๊ฐ์ ธ์ ์ด๋๋ฆฌ์(Ethereum) ๊ฐ์ ๋ธ๋ก์ฒด์ธ์ผ๋ก ๋ณด๋ด๋ ์ญํ ์ ํ๋ค.
- NoSQL(๋น๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค)
'Back-end > CS ์ง์' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Linux] SELinux์ ๊ฐ๋ ๋ฐ ๋ณด์ ์ค์ ๋ฐฉ๋ฒ (0) | 2022.05.17 |
---|---|
APM์ ๊ฐ๋ ๋ฐ ๊ตฌ๋ ์๋๋ฆฌ์ค (0) | 2022.05.16 |
[CS] TCP/IP ๊ฐ๋ ์ ๋ฆฌ (0) | 2022.04.09 |
[CS] OSI 7 ๊ณ์ธต์ ๋ชจ๋ ๊ฒ! (0) | 2022.04.08 |
[CS] APM์ด๋ ๋ฌด์์ธ๊ฐ? (0) | 2022.04.06 |