Skip to content
@deepdive-msa-study

DeepDive MSA study

Goormthon DeepDive BackEnd-1st MSA study

header

๐Ÿ’ป What We Make ๐Ÿ’ป

๊ฐ„๋‹จํ•œ ๋ธ”๋กœ๊ทธ ํ”Œ๋žซํผ์„ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜(MSA)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ์ถ•.
Spring Boot ๊ธฐ๋ฐ˜์˜ ๊ฐ ์„œ๋น„์Šค๋Š” MSA์—์„œ ํ•„์š”ํ•œ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ Spring Cloud๋ฅผ ํ™œ์šฉํ•ด ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.


๐Ÿ“š Tech Stack ๐Ÿ“š




๐Ÿ›  Tools ๐Ÿ› 



์ฐธ๊ณ  ์‚ฌํ•ญ

๋‹ค์–‘ํ•œ ๊ตฌํ˜„ ๋ฐ ๊ตฌ์„ฑ ๊ฐ€๋Šฅ์„ฑ

์ด ํ”„๋กœ์ ํŠธ๋Š” ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ์ด ๊ฐ์ž์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ์Šคํ„ฐ๋””์˜ ์ผํ™˜์œผ๋กœ ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
๋”ฐ๋ผ์„œ ๊ฐ ํŒ€์›์€ ์ž์‹ ๋งŒ์˜ ํ”„๋กœ์ ํŠธ ํ™˜๊ฒฝ์— ๋งž๊ฒŒ ๊ตฌํ˜„ ๋ฐ ๊ตฌ์„ฑ์„ ์กฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ณตํ†ต ๋ชฉํ‘œ

  • ๊ฐ ์ฐธ์—ฌ์ž๋Š” MSA ์„ค๊ณ„ ๋ฐ ๊ตฌํ˜„์— ๋Œ€ํ•œ ์ดํ•ด๋ฅผ ๋ชฉ์ ์œผ๋กœ ํ•˜๋ฉฐ, ์„œ๋น„์Šค ๊ฐ„ ๋…๋ฆฝ์„ฑ๊ณผ ํ†ตํ•ฉ์„ ๊ณ ๋ คํ•œ ์„ค๊ณ„๋ฅผ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.
  • ํ”„๋กœ์ ํŠธ์˜ ๊ฒฐ๊ณผ๋ฌผ์€ ์Šคํ„ฐ๋”” ๊ณต์œ ์™€ ํ”ผ๋“œ๋ฐฑ์„ ํ†ตํ•ด ์ง€์†์ ์œผ๋กœ ๋ฐœ์ „๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ์ž์˜ ํ”„๋กœ์ ํŠธ ๋ณ„ ๋‹ค์–‘์„ฑ

  • ์ผ๋ถ€ ํŒ€์›์€ Kafka ๋Œ€์‹  RabbitMQ๋งŒ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜, MySQL ๋Œ€์‹  NoSQL์„ ์‚ฌ์šฉํ•˜๋Š” ๋“ฑ ๊ฐœ๋ณ„์ ์ธ ๊ตฌ์„ฑ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • ์„ธ๋ถ€์ ์ธ ์ธ์ฆ/์ธ๊ฐ€ ๋ฐฉ๋ฒ•(JWT, OAuth ๋“ฑ)๋„ ์ฐธ์—ฌ์ž๋ณ„๋กœ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋„์ปค๋ฅผ ์ด์šฉํ•œ ๋ฐฐํฌ๋„ ์ถ”๊ฐ€๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1. ํ”„๋กœ์ ํŠธ ๊ฐœ์š”

์ฃผ์ œ

๊ฐ„๋‹จํ•œ ๋ธ”๋กœ๊ทธ ๋ชจ๋†€๋ฆฌ์‹ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ฐ์ž์˜ ๋ฐฉ๋ฒ•์œผ๋กœ MSA๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜
Spring Boot ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐ ์„œ๋น„์Šค๋ฅผ ๊ฐœ๋ฐœํ•˜๋ฉฐ, Spring Cloud๋ฅผ ์‚ฌ์šฉํ•ด ์„œ๋น„์Šค ๊ฐ„ ํ†ต์‹ , ๊ตฌ์„ฑ ๊ด€๋ฆฌ, ๋ชจ๋‹ˆํ„ฐ๋ง ๋“ฑ์„ ๊ตฌํ˜„.


2. ๋ชฉํ‘œ

  • MSA ์„ค๊ณ„ ๋ฐ ๊ตฌํ˜„ ๊ณผ์ • ํ•™์Šต:
    • ์„œ๋น„์Šค ๊ฐ„ ๋…๋ฆฝ์„ฑ ๋ฐ ๋ฐ์ดํ„ฐ ๊ฒฝ๊ณ„ ์œ ์ง€
  • ์ค‘์•™ํ™”๋œ ์„ค์ • ๊ด€๋ฆฌ ํ•™์Šต:
    • Spring Cloud Config์™€ RabbitMQ๋ฅผ ํ†ตํ•œ ์žฌ๋ฐฐํฌ ์—†๋Š” ์„ค์ • ๋ฐ˜์˜ ํ™˜๊ฒฝ ๊ตฌํ˜„
  • ์žฅ์•  ๋Œ€์‘ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง ํ•™์Šต:
    • Prometheus์™€ Grafana๋ฅผ ํ™œ์šฉํ•œ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ์‹œ๊ฐํ™”

3. ์„œ๋น„์Šค ๊ตฌ์„ฑ

1) ๋น„์ฆˆ๋‹ˆ์Šค ์„œ๋น„์Šค

  • User Service: ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ ๋ฐ ์ธ์ฆ/์ธ๊ฐ€
  • Post Service: ๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑ ๋ฐ ๊ด€๋ฆฌ
  • Comment Service: ๋Œ“๊ธ€ ์ž‘์„ฑ ๋ฐ ๊ด€๋ฆฌ
  • Hashtag Service: ๊ฒ€์ƒ‰์„ ์œ„ํ•œ ํ•ด์‹œํƒœ๊ทธ

2) ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๊ธฐ์ˆ  ์Šคํƒ

  • Spring Boot: ๊ฐ ์„œ๋น„์Šค ๊ตฌํ˜„
  • Spring Cloud: Eureka, Config Server, API Gateway, Spring Cloud Bus ํ™œ์šฉ
  • RabbitMQ: ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ํ†ต์‹ 
  • Kafka: ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์ „๋‹ฌ ๋ฐ ๋น„๋™๊ธฐ ํ†ต์‹ 
  • Zipkin: ๋ถ„์‚ฐ ์ถ”์ 
  • Prometheus & Grafana: ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ์‹œ๊ฐํ™”

Popular repositories Loading

  1. .github .github Public

  2. blog-client blog-client Public

    goorm deepdive 1st backend Msa study

    JavaScript

  3. exp-mission exp-mission Public

  4. nninjo_on nninjo_on Public

    Monolithic to Microservices Architecture Study

    Java

Repositories

Showing 4 of 4 repositories
  • .github Public
    deepdive-msa-study/.githubโ€™s past year of commit activity
    0 0 0 0 Updated Dec 9, 2024
  • nninjo_on Public

    Monolithic to Microservices Architecture Study

    deepdive-msa-study/nninjo_onโ€™s past year of commit activity
    Java 0 0 0 0 Updated Dec 6, 2024
  • exp-mission Public
    deepdive-msa-study/exp-missionโ€™s past year of commit activity
    0 0 0 0 Updated Nov 1, 2024
  • blog-client Public

    goorm deepdive 1st backend Msa study

    deepdive-msa-study/blog-clientโ€™s past year of commit activity
    JavaScript 0 0 1 0 Updated Sep 27, 2024

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loadingโ€ฆ

Most used topics

Loadingโ€ฆ