{"id":15102570,"url":"https://github.com/minseokangq/msa-study","last_synced_at":"2026-01-18T10:28:23.443Z","repository":{"id":257271205,"uuid":"850211253","full_name":"MinseoKangQ/MSA-study","owner":"MinseoKangQ","description":"[MSA] With Spring Cloud","archived":false,"fork":false,"pushed_at":"2024-10-19T14:17:10.000Z","size":169,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-10T22:44:20.899Z","etag":null,"topics":["msa","spring-cloud","springboot","springboot3","springboot333"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MinseoKangQ.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-31T06:40:30.000Z","updated_at":"2024-10-19T14:17:13.000Z","dependencies_parsed_at":"2024-12-18T17:44:26.510Z","dependency_job_id":"99bf91b6-19ec-42ef-a9b3-8027480fcad8","html_url":"https://github.com/MinseoKangQ/MSA-study","commit_stats":null,"previous_names":["minseokangq/msa-study"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MinseoKangQ%2FMSA-study","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MinseoKangQ%2FMSA-study/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MinseoKangQ%2FMSA-study/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MinseoKangQ%2FMSA-study/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MinseoKangQ","download_url":"https://codeload.github.com/MinseoKangQ/MSA-study/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247332525,"owners_count":20921852,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["msa","spring-cloud","springboot","springboot3","springboot333"],"created_at":"2024-09-25T19:02:24.861Z","updated_at":"2026-01-18T10:28:23.406Z","avatar_url":"https://github.com/MinseoKangQ.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"## 🚀 Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)\n\n### ✨ 요약\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003cth\u003e구성 요소\u003c/th\u003e\n    \u003cth\u003e역할\u003c/th\u003e\n    \u003cth\u003e설명\u003c/th\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cb\u003e📁 Git Repository\u003c/b\u003e\u003c/td\u003e\n    \u003ctd\u003e소스 관리 및 Profile 관리\u003c/td\u003e\n    \u003ctd\u003e모든 소스 코드와 설정 파일을 Git 저장소에서 관리한다. 환경별 설정(Profile) 정보 또한 저장소에서 버전 관리되며, Config Server에서 이를 참조한다.\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cb\u003e🔧 Config Server\u003c/b\u003e\u003c/td\u003e\n    \u003ctd\u003e설정 관리 및 프로파일 정보 제공\u003c/td\u003e\n    \u003ctd\u003eGit 저장소에 등록된 프로파일 정보 및 설정 정보를 중앙에서 관리하고 제공한다. 각 마이크로서비스는 이 서버로부터 필요한 설정 정보를 가져와서 사용한다.\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cb\u003e🌍 Eureka Server\u003c/b\u003e\u003c/td\u003e\n    \u003ctd\u003e마이크로서비스 등록 및 검색\u003c/td\u003e\n    \u003ctd\u003e각 마이크로서비스가 자신을 등록하고, 다른 서비스의 위치를 검색할 수 있는 레지스트리 역할을 한다. 이를 통해 서비스 간의 동적 확장과 통신이 가능해진다.\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cb\u003e🚪 API Gateway Server\u003c/b\u003e\u003c/td\u003e\n    \u003ctd\u003e부하 분산 및 서비스 라우팅\u003c/td\u003e\n    \u003ctd\u003e클라이언트 요청을 적절한 마이크로서비스로 라우팅하며, 부하 분산, 인증, 속도 제한 등의 기능을 제공한다. 모든 외부 요청은 API Gateway를 통해 처리된다.\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cb\u003e🛠 Microservices\u003c/b\u003e\u003c/td\u003e\n    \u003ctd\u003e사용자, 주문, 카탈로그 서비스 관리\u003c/td\u003e\n    \u003ctd\u003e\n      \u003cb\u003eUSER-SERVICE\u003c/b\u003e: 사용자 관리와 관련된 기능을 담당\u003cbr\u003e\n      \u003cb\u003eORDER-SERVICE\u003c/b\u003e: 주문 관리와 관련된 기능을 담당\u003cbr\u003e\n      \u003cb\u003eCATALOG-SERVICE\u003c/b\u003e: 상품 카탈로그와 관련된 기능을 담당\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cb\u003e📨 Queuing System\u003c/b\u003e\u003c/td\u003e\n    \u003ctd\u003e마이크로서비스 간 메시지 발생 및 구독 관리\u003c/td\u003e\n    \u003ctd\u003e마이크로서비스 간의 메시지 전달을 관리한다. 서비스 간에 비동기적으로 메시지를 주고받으며, 이로 인해 서비스의 독립성이 보장되고 확장성이 향상된다.\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\n\u003cbr\u003e\n\n### 💡 개발 환경 (공통)\n- 운영체제 : MacOS M1\n- 언어 : Java\n- 타입 : Gradle - Groovy\n- JDK : 17\n- Java : 17\n- SpringBoot : 3.3.3\n\n\u003cbr\u003e\n\n### ✏️ discovery-service\n- Port : 8761\n- Dependencies : Spring Cloud Discovery의 Eureka Server\n\n\u003cbr\u003e\n\n### ✏️ user-service\n- Port : Random\n- Dependencies\n\t- Spring Cloud Discovery의 Eureka Discovery Client\n \t- Spring Boot DevTools\n\t- Lombok\n\t- Spring Web\n\n\u003cbr\u003e\n\n### ✏️ first-service, second-service\n- first-service port : 8081\n- second-service port : 8082\n- Dependencies\n\t- Lombok\n\t- Spring Web\n\t- Eureka Discovery Client\n\n\u003cbr\u003e\n\n### ✏️ apigateway-service\n- Port : 8000\n- Dependencies\n  - Lombok\n  - DevTools\n  - Eureka Discovery Client\n  - Spring Cloud Routing의 Gateway\n  - netty 관련 의존성 (MacOS M1 오류 해결 목적)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fminseokangq%2Fmsa-study","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fminseokangq%2Fmsa-study","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fminseokangq%2Fmsa-study/lists"}