Spring Framework/โ๏ธ Spring Cloud
Apache Kafka ๋ฐ์ดํฐ ๋๊ธฐํ Orders โ Catalogs Order Service์ ์์ฒญ๋ ์ฃผ๋ฌธ ์๋ ์ ๋ณด๋ฅผ Catalog Service์ ๋ฐ์ Order Service์์ Kafka Topic์ผ๋ก ๋ฉ์์ง ์ ์ก โ Producer Catalog Service์์ Kafka Topic์ ์ ์ก๋ ๋ฉ์์ง ์ทจ๋ โ Consumer Order-Service์ Catalog-Service์ Kafka ๊ธฐ๋ฅ ๊ตฌํ ์ถ๊ฐ ZooKeeperServer์ KafkaServer ๊ธฐ๋ + Eureka Server (discovery-service) ์คํ config-service, apigateway-service, order-service, catalog-service ์คํ ์๋ ๋ฐ์ดํฐ ์
๋ฐ์ดํธ ์๋ฃ Multip..
Spring Framework/โ๏ธ Spring Cloud
Microservices๊ฐ์ ํต์ ํ๊ธฐ ํด๋ผ์ด์ธํธ๊ฐ user-service์์ userId๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์์ ๋ํ ์ ๋ณด๋ฅผ ์์ฒญํ์ ์ ์ฌ์ฉ์์ ์ฃผ๋ฌธ์ด๋ ฅ๊น์ง ๊ฐ์ ธ์์ผํ๋ ์ํฉ์ ๊ฐ์ ํด๋ณด๋ฉด, ์์ฒญํ๋ userId ๊ฐ์ order-service์ ํ๋ผ๋ฏธํฐ๋ก ์ ๋ฌํด์ ์๋ํฌ์ธํธ๋ฅผ ํธ์ถํด์ผ ์ฃผ๋ฌธ์ด๋ ฅ์ ๊ฐ์ ธ์ฌ ์ ์๋ค. RestTemplate๊ณผ FeignClient๋ฅผ ์ด์ฉํด ํด๋นํ๋ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์๋ณด์. RestTemplate RestTemplate์ http ํต์ ์ ์ ์ฉํ๊ฒ ํ ์ ์๋๋ก ์คํ๋ง์์ ์ ๊ณตํ๋ ํ
ํ๋ฆฟ์ด๋ค. Spring 5.0 ์ดํ๋ถํฐ ๋ ๊ฑฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ๊ฐ์ฃผ๋์๋ค. 1๏ธโฃ user-service์ RestTemplate์ Spring Bean์ผ๋ก ๋ฑ๋ก @SpringBootApplication @Ena..
Spring Framework/โ๏ธ Spring Cloud
Configuration ์๋ฒ์์ ์ด๋ ํ ๊ฐ์ ๋ณ๊ฒฝ์์ผฐ์ ๋ microservices์ ๋ฐ์์ํค๊ธฐ ์ํด์ ์ด์ ์๋ actuator๋ฅผ ์ฌ์ฉํ๋ค. ํ์ง๋ง ์ด ๋ฐฉ๋ฒ์ ์ฌ๋ฌ ๊ฐ์ ๋ง์ดํฌ๋ก์๋น์ค๊ฐ ์กด์ฌํ๋ค๋ฉด ๊ฐ๊ฐ์ ๋ง์ดํฌ๋ก์๋น์ค๋ง๋ค ์๋์ผ๋ก refresh ์์ผ์ฃผ์ด์ผํ๊ธฐ ๋๋ฌธ์ ์๋นํ ๋ฒ๊ฑฐ๋กญ๋ค. ์ด๋ฌํ ๋ฐฉ๋ฒ์ ๊ฐ์ ์์ผ์ฃผ๋ ๊ฒ์ด Spring Cloud Bus ์ด๋ค. โSpring Cloud Bus๋ ? ๋ถ์ฐ์์คํ
์ ๋
ธ๋(microservice)๋ฅผ ๋ฉ์์ง ๋ธ๋ก์ปค(RabbitMQ)์ ์ฐ๊ฒฐํ์ฌ ์ํ ๋ฐ ๊ตฌ์ฑ์ ๋ํ ๋ณ๊ฒฝ์ฌํญ์ ์ฐ๊ฒฐ๋ ๋
ธ๋์๊ฒ ์ ๋ฌํด์ฃผ๋ ํ๋ ์์ํฌ์ด๋ค. ๐ก ๋ฉ์์ง ๋ธ๋ก์ปค๋? ๐ ์ ํ๋ฆฌ์ผ์ด์
, ์์คํ
๋ฐ ์๋น์ค๊ฐ ์๋ก ๊ฐ์ ํต์ ํ๊ณ ์ ๋ณด๋ฅผ ๊ตํํ ์ ์๋๋ก ํด์ฃผ๋ ์ํํธ์จ์ด๋ก ๋ฉ์์ง๋ฅผ ๊ฒ์ฆ, ์ ์ฅ, ๋ผ์ฐํ
ํ..
Spring Framework/โ๏ธ Spring Cloud
๊ฐ๊ฐ์ Microservice๊ฐ ๊ฐ๊ณ ์๋ ๊ตฌ์ฑ์ ๋ณด ํ์ผ(.yml)๋ค์ด ์์ ๋๋ค๋ฉด ์ดํ๋ฆฌ์ผ์ด์
์์ฒด๋ฅผ ๋ค์ ๋น๋ํ๊ณ ๋ฐฐํฌํด์ผํ๋ค. ์ด์ ๊ฐ์ ๋ฒ๊ฑฐ๋ก์์ ๋์ด๋ด๊ธฐ ์ํด ๊ตฌ์ฑ์ ๋ณด ํ์ผ์ ์ธ๋ถ๋ก ๋ถ๋ฆฌ์ํจ๋ค๋ฉด ๊ฐ๋ฐ, ํ
์คํธ, ์ด์ ํ๊ฒฝ์์๊น์ง ๋ชจ๋ ํ๊ฒฝ ๊ตฌ์ฑ์ ๊ฐํธํ๊ฒ ๊ด๋ฆฌํ ์ ์๋ค. ์ค์ ์ ์ํ ์๋ฒ๋ฅผ ๋ณ๋๋ก ๊ตฌ์ฑํ๊ณ ์คํ ์ค์ธ ์ดํ๋ฆฌ์ผ์ด์
์ด ์๋ฒ์์ ์ค์ ์ ๋ณด๋ฅผ ํ์
ํด ๊ฐฑ์ ์ํค๋ฉด ๋น๋์ ๋ฐฐํฌ ์์ด ๋ณ๊ฒฝ์ฌํญ์ ๋ฐ์ํ๋ ๊ฒ์ด๋ค ! โ Spring Cloud Config ๋? Spring Cloud Config๋ ๋ถ์ฐ์์คํ
์์ ์๋ฒ, ํด๋ผ์ด์ธํธ ๊ตฌ์ฑ์ ํ์ํ ์ค์ ์ ๋ณด(application.yml)๋ฅผ ์ธ๋ถ์์ ๊ด๋ฆฌํ ์ ์๋๋ก ์ง์ํด์ฃผ๋ ์์คํ
์ด๋ค. ์ค์ํ๋ ์ ์ฅ์์์ ๊ด๋ฆฌํ๊ธฐ ๋๋ฌธ์ ํ๊ฒฝ์ค์ ์ ์ผ๊ด์ ์ผ๋ก ๊ด๋ฆฌ..
Spring Framework/โ๏ธ Spring Cloud
์ฌ๋ฌ ๊ธฐ์
๋ค์ ์ฑ์ฉ ๊ณต๊ณ ๋ฅผ ํ์ธํ ๋๋ง๋ค 'MSA' ๊ฐ ์ธ๊ธ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ค. MSA๊ฐ ๋ฌด์์ด๊ธธ๋ ๊ธฐ์
๋ง๋ค ์ธ๊ธํ๋ ๋น๋๊ฐ ์ฆ์์ง ํ์
ํด๋ณด๊ณ , MSA๋ฅผ ๊ตฌ์ถํ๊ณ ๊ด๋ฆฌํ ์ ์๋ Spring Cloud์ ๋ํด ์์๋ณด๊ฒ ๋ค. โ Cloud Native Architecture ๋? ๐ท ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ๊ตฌ์กฐ์ ํน์ง ํ์ฅ ๊ฐ๋ฅํ ์ํคํ
์ณ ์๋ฒ ๊ณ์ ์ค์น X โ ํด๋ผ์ฐ๋ ๋ด์์ ์๋ฒ ์ธ์คํด์ค ๋๋ ค์ ํ์ฅ์ํค๊ธฐ (scale out) ํ๋ ฅ์ ์ํคํ
์ณ ์๋์ผ๋ก ํ๋ก์ ํธ๋ฅผ buildํ ํ ๋ฐฐํฌ X โ CI/CD๋ฅผ ํตํด ์๋์ผ๋ก ๋น๋ ํ ๋ฐฐํฌ ๐ ๋น์ฆ๋์ค ํ๊ฒฝ ๋ณํ์ ๋ํ ๋์ ์๊ฐ ๋จ์ถ ๋ถํ ๋ ๋
๋ฆฝ์ ์ธ ์๋น์ค โ ์ดํ๋ฆฌ์ผ์ด์
์ ๊ตฌ์ฑํ๋ ๋๋ฉ์ธ ํน์ฑ์ ๋ฐ๋ผ ์๋น์ค ๊ฒฝ๊ณ ๊ตฌ๋ถ ๐ ์๋น์ค ์ข
์์ฑ ์ต์ํ & ์ํ X Discove..