์ค์์น(ํ๋ธ)๊ฐ ์๋ ์๋ฒ ๋ ๋ฒจ์์์ ๋ก๋ ๋ฐธ๋ฐ์ฑ(๋ถํ ๋ถ์ฐ). DNAT(Destination Network Address Translation) ๋ฐฉ์์ ์ด์ฉํด ํ๋์ VIP์ ์ฌ๋ฌ ์๋ฒ๋ค์ด ๋ถ์ด์์ ์ ์์์๋ฅผ ๋ค์ด, nginx g/w์ vip๋ ํ๋์ด์ง๋ง ์ค์ ์๋ฒ
: ๋ง ๊ทธ๋๋ก ์ญํ ์ ๋ฐ๋ผ ๋ฆฌ์์ค์ ์ ๊ทผํ ์ ์๋์ง ์ฌ๋ถ๋ฅผ ๊ฒฐ์ (ex. ์ํ ๊ด๋ฆฌ์ / ์ฑ๋ ๊ด๋ฆฌ์ / ์ผ๋ฐ ์ ์ ..): ์ฌ์ฉ์(์ญํ ์ผ ์ ์์) / ๋ฆฌ์์ค ์์ฑ(์ ํ, ๋ง๋ ์ฌ๋, ์ค์๋ ๋ฑ) / ํ๊ฒฝ(์ก์ธ์ค ์์น, ๋ ์ง ๋ฑ)๊ณผ ๊ฐ์ด ๋ณด๋ค ๋ค์ํ ์์ฑ์ ๊ธฐ๋ฐ์ผ๋ก
์์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ฌ์ฉํ๋ ํด๋์ค์์ ์คํ๋ง ๋ถํธ 3.XX(+์๋ฐ 17)๋ก ์ ๋ฐ์ดํธ ์ดํ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค. (๋นจ๊ฐ ์ค๊ณผ ํจ๊ป ์๋ฌ๋ ๋จ์ง๋ง ๋์๋๊ฐ๋ ์ผ์ด์ค..)https://www.baeldung.com/configuration-properties-in-s
ํ๋ก๊ทธ๋๋ฐ ์ข ๋ฅ ๋ช ๋ นํ ํ๋ก๊ทธ๋๋ฐ - java ์ ์ธํ ํ๋ก๊ทธ๋๋ฐ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ -> ์ ์ธํ ํ๋ก๊ทธ๋๋ฐ ์คํ์ผ์ ์ด๋์ ๋ ์ตํ ์ ์์ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ์ฅ์ ๋ฉํฐ ์ฐ๋ ๋, ๋ฉํฐ cpu ํ๊ฒฝ์์ ์ํ๋ฅผ ๋ณ๊ฒฝํ์ง ์๋ ๋ฐฉ์์ ๊ฐ์กฐํ๋ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ์ด์ ( ๊ฐ
ํ ์คํธ ์ข ๋ฅ1\. ๋๋ฉ์ธ ๊ฐ์ฒด ๋จ์ํ ์คํธ2\. ์ธ์ํ ์คํธ3\. ์๋น์ค ๋ ์ด์ด ํ ์คํธ=> ๊ณ์ ํ๊ณ ์ ํ๋ ๋ถ๋ถ์ ์๋น์ค์ ์ฐ์ฌ๋์ด์๋ ๋น์ฆ๋์ค ๋ก์ง์ ์ฐ๊ด๋ ๋๋ฉ์ธ ๊ฐ์ฒด๋ก ์ฎ๊ธฐ๊ณ ๋๋ฉ์ธ ๊ฐ์ฒด ๋จ์ํ ์คํธ๋ฅผ ์์ฑํ๋ ๊ฒ=> ์ด๋ ๊ฒ ๋์ ๋ ์๋น์ค ๋ ์ด์ด์ mock ๊ธฐ๋ฐ ํ
์์ ๊ด๊ณ (Is - a ๊ด๊ณ)์กฐํฉ ๊ด๊ณ(has - a ๊ด๊ณ)\-> ๋ ๋ค ๊ฐ๋ฅํ ๊ฒฝ์ฐ ์กฐํฉ์ ๋จผ์ ํธ๋ผ์ด ํด๋ณด๋๊ฒ ์ข์.์ฝ๋์ ์ฌ์ฌ์ฉ์ฑ ์ธก๋ฉด์์๋ ์์์ด ์ ๋ฆฌํ์ง๋ง, ์ ์ฐ์ฑ ์ธก๋ฉด์์๋ ์กฐํฉ์ด ๋ ์ ๋ฆฌ.์กฐํฉ๋ ์ฝ๋๋ฅผ ์ฌ์ฌ์ฉํ๋ ๊ฑฐ๊ธดํจ (์ข ๋ ์ฝ๋๊ฐ ๋ง์์ง๋ค๋ ๋จ์ )๊ฐ
์๋ฐ๋ ๊ฐ์ฅ ์์ ๋์ ๋จ์๊ฐ ํด๋์ค -> ๋๋ค์ฒ๋ผ ํจ์๋ก ๊ตฌํํด๋ ๊ฒฐ๊ตญ ๋ด๋ถ ๊ตฌํ์ ํด๋์ค์ด๋ค์ธํฐํ์ด์ค ์ถ์ถํด์ ๋ฃ์ด์ฃผ๋๊ฑฐ ์์ฒด๊ฐ DI(Dependancy Injection) -> ์ํํธ์จ์ด์ ์ ์ฐ์ฑ์ ์ํด ์คํ๋ง ์ด์ ๋ถํฐ ๋ง์ด ์ฐ๋ ๊ธฐ๋ฒ.๋ฆฌํฉํ ๋ง ์ ๋ฆฌํฉํ ๋ง ํ\->
ํ ์คํธํ๊ธฐ ์ด๋ ค์ด ์ฝ๋๋ฅผ object graph์ ์์์ชฝ์ผ๋ก ์ฎ๊ธด๋ค (์ฎ๊ธฐ๊ธฐ ์ ๋จ๊ณ๋ ๊ฒฐ๊ตญ ํ ์คํธํ ์ ์์ด์ง์ง๋ง, ์ฐ๋ฆฌ๋ ๋ชจ๋ ์ฝ๋๋ฅผ ํ ์คํธํ๋๊ฒ ๋ชฉํ๋ ์๋)\-> ํ ์คํธ ํ๊ธฐ ์ด๋ ค์ด ๋ถ๋ถ์ ๋ถ๋ฆฌํด์ ํต์ฌ๋ก์ง์ ํ ์คํธํ๋๊ฒ ๋ชฉ์ ๋ฉ์๋์ ํฌ๊ธฐ๊ฐ ์ต๋ 10๋ผ์ธ์ ๋์ง
TDD๋ ๋จ์ ํ ์คํธ ๊ธฐ๋ฒ์ด ์๋๋ผ, ์๊ตฌ์ฌํญ์ ๋ถ์ํ๊ณ ์ค๊ณํ๋ ๊ธฐ๋ฒ์ด๋ค.์๊ตฌ ์ฌํญ์ ์์ ๋จ์๋ก ์ชผ๊ฐ ๋ค๊ฐ ์๊ตฌ ์ฌํญ์ ๋ง๋ ํ ์คํธ ์ฝ๋๋ฅผ ์์ฑํ๋ค.ํ ์คํธ ์ฝ๋๋ฅผ ํ๋ ์์ฑํ ๋๋ง๋ค(์ต์ ์๊ตฌ ์ฌํญ ๋จ์) ํ ์คํธ๋ฅผ ํต๊ณผํ๊ธฐ ์ํ ์ค์ ๊ธฐ๋ฅ ์ฝ๋๋ฅผ ๊ตฌํํ๋ค.(์ด ๊ณผ์ ์
์ผ๋จ flatMap๊ณผ doOnNext์ ์ฐจ์ด๋,flatMap์ ์์์ ์ ๋ฌ๋ฐ์ ์์ดํ ์ ๋ค๋ฅธ ํํ๋ก ๋ณํํ์ฌ ๋ฐฉ์ถํ๋ ๋ฐ๋ฉด, doOnNext๋ ๋ก๊น , api ์ฝ๊ณผ ๊ฐ์ ๋ถ๊ฐ์ ์ธ ๋์์ ํ๋, ์ ๋ฌ๋ฐ์ ์์ดํ ์ ๋ณํํ์ฌ ๋๊ธฐ๋ ๋์์ ํ์ง ์๋๋ค๋ ์ ์ด๋ค. ์ฆ, sour
์์์์ ์ฐ์.์ถ์ ํด๋์ค๊ฐ ์ค๊ณ๋์ธ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํ(implements)ํ๋ ๊ฒฝ์ฐ\-> ์ ์์์ ๊ฐ์ด Transport ์ธํฐํ์ด์ค์ ์ ์๋ ๋ฉ์๋๋ค(๋ฐ๋์ ๋ชจ๋ public abstract, ์๋ต ๊ฐ๋ฅ)์ overrideํ๋ฉฐ default๊ฐ ๋๋ ๊ฐ์ ๋ฐํํด์ค ์
๋น๋ฐ๋ฒํธ๋ฅผ ๊ทธ๋๋ก ๋ณด๋ด์ง ์์ -> ๋น๋ฐ๋ฒํธ๋ฅผ ๋น๊ฐ์ญ์ ์ผ๋ก ์์ ์ง๋ฌธ(fingerprint) ํน์ ์์ฝ(digest)๋ฅผ ๋ณด๋ ์ฌ์ ์ก ๋ฐฉ์ง๋ฅผ ์ํ ๋์ค ์ด์ฉ -> ๋์ค๋ฅผ ๋น๋ฐ๋ฒํธ์ ์์ผ๋ฉด ๋์ค๊ฐ ๋ฐ๋ ๋๋ง๋ค ์์ฝ๋ ๋ฐ๋๊ฒ ๋ง๋ค์ด์ค
HTTP๋ ๋ค์์ ๋ณด์ฅ๊ฐ์ฒด๋ ์ฌ๋ฐ๋ฅด๊ฒ ์๋ณ๋จ (Content-Type, Content-Language)๊ฐ์ฒด๋ ์ฌ๋ฐ๋ฅด๊ฒ ์์ถ์ด ํ๋ฆผ(Content-Length, Content-Encoding)๊ฐ์ฒด๋ ํญ์ ์ต์ (์ํฐํฐ ๊ฒ์ฌ๊ธฐ, ์บ์ ๋ง๋ฃ ์ ์ด)์ฌ์ฉ์์ ์๊ตฌ๋ฅผ ๋ง์กฑ(Acce
HTTPS๋ HTTP์ ํ๋ถ์ ์ ์ก ๋ ๋ฒจ ์ํธ ๋ณด์ ๊ณ์ธต์ ์ ๊ณตํจ์ผ๋ก์จ ๋์์ด ๋ณด์ ๊ณ์ธต์ Secure Socket Layer(SSL) ํน์ Transport Layer Security(TLS)๋ฅผ ์ด์ฉํด ๊ตฌํ๋๋ค SSL, HTTPS์๋ ์ํธ ์ธ์ฝ๋ฉ ๊ธฐ๋ฒ์ด ์ ์ฉ๋๋ค
์ธ์ฆ์ ๋ด๊ฐ ๋๊ตฌ์ธ์ง ์ฆ๋ช ํ๋ ๊ฒ.HTTP์๋ ๊ธฐ๋ณธ ์ธ์ฆ๊ณผ ๋ค์ด์ ์คํธ ์ธ์ฆ์ด ์์<๊ธฐ๋ณธ ์ธ์ฆ ์์>(a) ์์ฒญ์ ๋ณด๋(b) ์๋ฒ๊ฐ ์ฌ์ฉ์์๊ฒ ์ธ์ฆ์๊ตฌ๋ฅผ ๋ณด๋. 401 Unauthorized + WWW-Authenticate ํค๋(์ด๋์ ์ด๋ป๊ฒ ์ธ์ฆํ ์ง ์ค๋ช )(c)
์๋ฒ์์ ํด๋ผ์ด์ธํธ IP๋ฅผ ์ ์ ์๋ ๋ฐฉ๋ฒnginx ๊ฐ์ ์น ์๋ฒ์์๋ ๊ธฐ๋ณธ์ ์ผ๋ก remote_addr ํค๋๋ฅผ ํตํด ํด๋ผ์ด์ธํธ IP๋ฅผ ์ป์ ์ ์์๊ทธ๋ฌ๋ nginx์ ๋๋ฌํ๊ธฐ ์ ์ ํ๋ก์, ๋ก๋๋ฐธ๋ฐ์ ๋ฑ์ ๊ฑฐ์น๋ ๊ฒฝ์ฐ์๋ ์ด๋ฌํ ํด๋ผ์ด์ธํธ IP๊ฐ ํ๋ก์์ IP๋ก ๋ณ๊ฒฝ
HTTP/1.1์ ๊ตฌํ์ ๋จ์์ฑ๊ณผ ์ ๊ทผ์ฑ์ ์ฃผ์์ ์ ๋ \-> ์ฑ๋ฅ์ด ํฌ์๋จ (ex. ์๋ต์ ๋ฐ์์ผ๋ง ๊ทธ ๋ค์ ์์ฒญ์ ๋ณด๋ผ ์ ์์)\-> ์ด๋ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ณ๋ ฌ ์ปค๋ฅ์ (์ปค๋ฅ์ ์ ๋์์ ์ฌ๋ฌ๊ฐ ๋งบ๋๊ฑด๋ฐ, ๊ทผ๋ณธ์ ์ธ ํด๊ฒฐ์ฑ ์ ์๋), ํ์ดํ๋ผ์ธ ์ปค๋ฅ์ (์ฌ์ฉ๋์ง ์์
์น ๊ด๋ฆฌ์๋ ์น ์ฌ์ดํธ์ ๋ชจ๋ ์ฝํ ์ธ ์ ๋ํ ์ฐจ๋จ ๊ท์น์ ์ข ํฉ์ ์ผ๋ก ๊ธฐ์ ํ robots.txt ํ์ผ์ ์์ฑํ ์ฑ ์์ด ์๋ค.\-> ์๋ค๋ฉด ๋ก๋ด์ ์ ์ฝ์์ด ์ฌ์ดํธ์ ์ ๊ทผํ๋ค.\-> 401 ํน์ 403 ๊ถํ ์์์ผ๋ก ์๋ตํ๋ฉด ๋ก๋ด์ ํด๋น ์ฌ์ดํธ๋ก์ ์ ๊ทผ์ ์์ ํด์๋ ์๋๋ค
๋ฐฑ์๋์ ๋ ๋์ค๊ฐ ์๋ค๋ฉด ํ๋ก ํธ์๋์๋ ์น ์บ์(http cache)๊ฐ ์๋ค. ์น ์บ์์ ์ข ๋ฅ๋ธ๋ผ์ฐ์ ์บ์ : ์ฌ์ฉ์ ์ปดํจํฐ์ ๋ก์ปฌ ์ ์ฅ์์ ์ด์ ๋ฐฉ๋ฌธํ ์นํ์ด์ง์ ์ ์ ์์์ ์ ์ฅํด ์ฌ์ฉํ๋ค.ํ๋ก์ ์น ์บ์ : ํด๋ผ์ด์ธํธ์ origin ์๋ฒ ๊ฐ์ ํ๋ก์\-> ex)
๊ฒ์ดํธ์จ์ด๋ HTTP ํธ๋ํฝ์ ๋ค๋ฅธ ํ๋กํ ์ฝ๋ก ์๋ ๋ณํ \-> ์ ์๋ฒ์ ๋ถํ๋ฅผ ์ค์ฌ์ฃผ์ง๋ง, ๊ฒ์ดํธ์จ์ด์ ์ ์๋ฒ ์ฌ์ด์ ์๋ ๋คํธ์ํฌ๊ฐ ์์ ํ์ง ํ์คํ ํ์ธํ๊ณ ์จ์ผํจ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ๋ ๊ฒ์ดํธ์จ์ด์ ์ผ์ข . ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ๋ ๊ฒ์ดํธ์จ์ด์ ๋ชฉ์ ์ง ์๋ฒ๋ฅผ ํ ๊ฐ์ ์๋ฒ