An open API service indexing awesome lists of open source software.

https://github.com/minseokangq/msa-study

[MSA] With Spring Cloud
https://github.com/minseokangq/msa-study

msa spring-cloud springboot springboot3 springboot333

Last synced: 2 months ago
JSON representation

[MSA] With Spring Cloud

Awesome Lists containing this project

README

        

## ๐Ÿš€ Spring Cloud๋กœ ๊ฐœ๋ฐœํ•˜๋Š” ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(MSA)

### โœจ ์š”์•ฝ


๊ตฌ์„ฑ ์š”์†Œ
์—ญํ• 
์„ค๋ช…


๐Ÿ“ Git Repository
์†Œ์Šค ๊ด€๋ฆฌ ๋ฐ Profile ๊ด€๋ฆฌ
๋ชจ๋“  ์†Œ์Šค ์ฝ”๋“œ์™€ ์„ค์ • ํŒŒ์ผ์„ Git ์ €์žฅ์†Œ์—์„œ ๊ด€๋ฆฌํ•œ๋‹ค. ํ™˜๊ฒฝ๋ณ„ ์„ค์ •(Profile) ์ •๋ณด ๋˜ํ•œ ์ €์žฅ์†Œ์—์„œ ๋ฒ„์ „ ๊ด€๋ฆฌ๋˜๋ฉฐ, Config Server์—์„œ ์ด๋ฅผ ์ฐธ์กฐํ•œ๋‹ค.


๐Ÿ”ง Config Server
์„ค์ • ๊ด€๋ฆฌ ๋ฐ ํ”„๋กœํŒŒ์ผ ์ •๋ณด ์ œ๊ณต
Git ์ €์žฅ์†Œ์— ๋“ฑ๋ก๋œ ํ”„๋กœํŒŒ์ผ ์ •๋ณด ๋ฐ ์„ค์ • ์ •๋ณด๋ฅผ ์ค‘์•™์—์„œ ๊ด€๋ฆฌํ•˜๊ณ  ์ œ๊ณตํ•œ๋‹ค. ๊ฐ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋Š” ์ด ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ํ•„์š”ํ•œ ์„ค์ • ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์™€์„œ ์‚ฌ์šฉํ•œ๋‹ค.


๐ŸŒ Eureka Server
๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๋“ฑ๋ก ๋ฐ ๊ฒ€์ƒ‰
๊ฐ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๊ฐ€ ์ž์‹ ์„ ๋“ฑ๋กํ•˜๊ณ , ๋‹ค๋ฅธ ์„œ๋น„์Šค์˜ ์œ„์น˜๋ฅผ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ์—ญํ• ์„ ํ•œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์„œ๋น„์Šค ๊ฐ„์˜ ๋™์  ํ™•์žฅ๊ณผ ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•ด์ง„๋‹ค.


๐Ÿšช API Gateway Server
๋ถ€ํ•˜ ๋ถ„์‚ฐ ๋ฐ ์„œ๋น„์Šค ๋ผ์šฐํŒ…
ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์„ ์ ์ ˆํ•œ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋กœ ๋ผ์šฐํŒ…ํ•˜๋ฉฐ, ๋ถ€ํ•˜ ๋ถ„์‚ฐ, ์ธ์ฆ, ์†๋„ ์ œํ•œ ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค. ๋ชจ๋“  ์™ธ๋ถ€ ์š”์ฒญ์€ API Gateway๋ฅผ ํ†ตํ•ด ์ฒ˜๋ฆฌ๋œ๋‹ค.


๐Ÿ›  Microservices
์‚ฌ์šฉ์ž, ์ฃผ๋ฌธ, ์นดํƒˆ๋กœ๊ทธ ์„œ๋น„์Šค ๊ด€๋ฆฌ

USER-SERVICE: ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ์™€ ๊ด€๋ จ๋œ ๊ธฐ๋Šฅ์„ ๋‹ด๋‹น

ORDER-SERVICE: ์ฃผ๋ฌธ ๊ด€๋ฆฌ์™€ ๊ด€๋ จ๋œ ๊ธฐ๋Šฅ์„ ๋‹ด๋‹น

CATALOG-SERVICE: ์ƒํ’ˆ ์นดํƒˆ๋กœ๊ทธ์™€ ๊ด€๋ จ๋œ ๊ธฐ๋Šฅ์„ ๋‹ด๋‹น



๐Ÿ“จ Queuing System
๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๊ฐ„ ๋ฉ”์‹œ์ง€ ๋ฐœ์ƒ ๋ฐ ๊ตฌ๋… ๊ด€๋ฆฌ
๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๊ฐ„์˜ ๋ฉ”์‹œ์ง€ ์ „๋‹ฌ์„ ๊ด€๋ฆฌํ•œ๋‹ค. ์„œ๋น„์Šค ๊ฐ„์— ๋น„๋™๊ธฐ์ ์œผ๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ์ฃผ๊ณ ๋ฐ›์œผ๋ฉฐ, ์ด๋กœ ์ธํ•ด ์„œ๋น„์Šค์˜ ๋…๋ฆฝ์„ฑ์ด ๋ณด์žฅ๋˜๊ณ  ํ™•์žฅ์„ฑ์ด ํ–ฅ์ƒ๋œ๋‹ค.


### ๐Ÿ’ก ๊ฐœ๋ฐœ ํ™˜๊ฒฝ (๊ณตํ†ต)
- ์šด์˜์ฒด์ œ : MacOS M1
- ์–ธ์–ด : Java
- ํƒ€์ž… : Gradle - Groovy
- JDK : 17
- Java : 17
- SpringBoot : 3.3.3


### โœ๏ธ discovery-service
- Port : 8761
- Dependencies : Spring Cloud Discovery์˜ Eureka Server


### โœ๏ธ user-service
- Port : Random
- Dependencies
- Spring Cloud Discovery์˜ Eureka Discovery Client
- Spring Boot DevTools
- Lombok
- Spring Web


### โœ๏ธ first-service, second-service
- first-service port : 8081
- second-service port : 8082
- Dependencies
- Lombok
- Spring Web
- Eureka Discovery Client


### โœ๏ธ apigateway-service
- Port : 8000
- Dependencies
- Lombok
- DevTools
- Eureka Discovery Client
- Spring Cloud Routing์˜ Gateway
- netty ๊ด€๋ จ ์˜์กด์„ฑ (MacOS M1 ์˜ค๋ฅ˜ ํ•ด๊ฒฐ ๋ชฉ์ )