Server๐งค/SpringCloud
API Gateway Service ์ธ์ฆ ๋ฐ ๊ถํ ๋ถ์ฌ ์๋น์ค ๊ฒ์ ํตํฉ ์๋ต ์บ์ฑ ์ ์ฑ
, ํ๋ก ์ฐจ๋จ๊ธฐ ๋ฐ Qos ์๋ ์ ํ ๋ถํ ๋ถ์ฐ ๋ก๊น
, ์ถ์ , ์๊ด๊ด๊ณ ํค๋, ์ฟผ๋ฆฌ ๋ฌธ์์ด ๋ฐ ์ฒญ๊ตฌ ๋ณํ IP ํ์ฉ ๋ชฉ๋ก์ ์ถ๊ฐ SpringCloud์์์ MSA๊ฐ ํต์ RestTemplate RestTemplate restTemplate = new RestTemplate(); restTemplate.getForObject("http://localhost:8080/", User.class, 200); Feign Client FeignClient๋ผ๋ ๋ง์ดํฌ๋ก์๋น์ค ์ด๋ฆ๊ฐ์ง๊ณ ํธ์ถ์ด ๊ฐ๋ฅํจ. @FeignClient("stores") public interface StoreClient { @RequestMapping(met..
Server๐งค/SpringCloud
Spring Cloud Netflix Eureka ์ฌ๋ฌ ์๋ฒ๋ฅผ ๋์ฐ๊ธฐ ์ํด ๋ก์ปฌ ํ๊ฒฝ์์ ๊ฐ์ ๋ค๋ฅธ ํฌํธ ๋ฒํธ๋ก ์คํํจ ์ฌ๋ฌ ๊ฐ์ ์๋ฒ๋ฅผ Service Discovery์ ๋ฑ๋ก key value ๊ฐ์ผ๋ก ์ด๋ค ์๋ฒ๊ฐ ์ด๋์ ์์นํด ์๋์ง ์ ์ฅํด๋๋ค ํด๋ผ์ด์ธํธ๊ฐ ์์ฒญ์ ๋ณด๋ด๋ฉด ์์ฒญ ์ ๋ณด์ ๋ฐ๋ผ์ ํ์ํ ์๋น์ค์ ์์น๋ฅผ ์๋ ค์ฃผ๋ ์ญํ Gradle๋ก ํ๋ก์ ํธ ํ๋ ./gradlew build && java -jar build/libs/user-service-0.0.1-SNAPSHOT.jar User-Service : Load Balancer ์ธ์คํด์ค๋ง๋ค ํฌํธ๋ฒํธ๋ฅผ ์ง์ ํด์ฃผ๊ธฐ์ ํ๊ณ๊ฐ ์์ผ๋ฏ๋ก ๋๋ค ํฌํธ๋ฅผ ์ฌ์ฉํ๋ค. ๋๋คํฌํธ๋ก ์ฌ๋ฌ ์ธ์คํด์ค๋ฅผ ๋์ฐ๋ฉด ํฌํธ ๋ฒํธ๋ ๊ฐ๊ฐ ์ฌ๋ฌ๊ฐ๊ฐ ํ ๋น๋จ Eureka Applicati..
Server๐งค/SpringCloud
ํน์ง ํ์ฅ ๊ฐ๋ฅํ ์ํคํ
์ฒ ์์คํ
์ ์ํ์ ํ์ ์ ์ ์ฐ ํ์ฅ๋ ์๋ฒ๋ก ์์คํ
์ ๋ถํ ๋ถ์ฐ, ๊ฐ์ฉ์ฑ ๋ณด์ฅ ์์คํ
๋๋, ์๋น์ค ์ ํ๋ฆฌ์ผ์ด์
๋จ์์ ํจํค์ง(์ปจํ
์ด๋ ๊ธฐ๋ฐ ํจํค์ง) ํ๋ ฅ์ ์ํคํ
์ฒ ์๋น์ค ์์ฑ - ํตํฉ - ๋ฐฐํฌ, ๋น์ฆ๋์ค ํ๊ฒฝ ๋ณํ์ ๋์ ์๊ฐ ๋จ์ถ ๋ถํ ๋ ์๋น์ค ๊ตฌ์กฐ ๋ฌด์ํ ํต์ ํ๋กํ ์ฝ ์ฅ์ ๊ฒฉ๋ฆฌ ํน์ ์๋น์ค์ ์ค๋ฅ๊ฐ ๋ฐ์ํด๋ ๋ค๋ฅธ ์๋น์ค์ ์ํฅ์ ์ฃผ์ง ์์ CI/CD ์ง์์ ์ธ ํตํฉ CI ํตํฉ ์๋ฒ, ์์ค ๊ด๋ฆฌ, ๋น๋ ๋๊ตฌ, ํ
์คํธ ๋๊ตฌ ์ง์์ ๋ฐฐํฌ Continuous Delivery Continuous Deployment Pipe line DEVOPS ๋ฐฐํฌ ์ด์ QA์ ๊ต์งํฉ ์ง์์ ์ผ๋ก ๋์์์ด ์ง์๋ฐฐํฌ์ด์ํด๋๊ฐ๋ ๊ฒ! ์๋น์ค ๋จ์๋ฅผ ์์ ๋จ์๋ก ๋๋์ผ๋ก์จ, ๋ ์์ฃผ ๋ฐฐํฌ ํ
์คํธ ํ ์ ..