강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của woo7873568
woo7873568

câu hỏi đã được viết

Nhập môn và Thực tiễn MSA dành cho cả người không chuyên (feat. Spring Boot)

MSA에서 서비스별 DB 작성에 관해

Đã giải quyết

Viết

·

49

0

안녕하세요.
언제나 좋은 강의 만들어주셔서 감사합니다.

강의에서 MSA는 서비스별로 DB를 구축하는 것으로 설명해주셨는데요.
이 경우, 서비스 수가 늘어날수록 데이터베이스도 함께 증가하게 되어
고정비용이 기하급수적으로 늘어날 것 같습니다.

실제로 기업에서 사용하는 MSA 구조에서도
이와 같이 서비스별로 별도의 데이터베이스를 구축하는지 궁금합니다.

아키텍처spring-cloudkafkamsadevops

Câu trả lời 2

1

jscode님의 프로필 이미지
jscode
Người chia sẻ kiến thức

안녕하세요 ! 질문 잘 해주셨어요 ~

질문해주신 내용에 답변 드려볼게요 !

"실제로 기업에서 사용하는 MSA 구조에서도 이와 같이 서비스별로 별도의 데이터베이스를 구축하는지 궁금합니다."

-> 우선 실제 기업에서도 MSA를 적용할 때 서비스별로 별도의 DB를 구축하는 것이 원칙이에요 !

다만 말씀해주신 것처럼 비용 문제가 있기 때문에, 실무에서는 DB 소프트웨어 자체를 하나만 띄워두고 그 안에서 스키마나 데이터베이스를 서비스별로 논리적으로 분리하는 방식을 많이 사용해요 ~

예를 들어 MySQL 인스턴스 하나에 user_db, order_db, product_db처럼 데이터베이스를 나눠서 운영하는 식이죠ㅎㅎ

이렇게 하면 MSA의 데이터 독립성 원칙은 어느 정도 지키면서도 인프라 비용을 줄일 수 있어요 !

물론 서비스 규모가 커지고 트래픽이 늘어나면 그때는 각 서비스의 DB를 완전히 분리된 인스턴스로 운영하기도 하는데, 결국 팀의 규모와 비용, 트래픽 상황에 맞게 유연하게 결정하는 것이 현실적인 접근이죠 :)

추가로 궁금하신 점 있으시면 또 질문 남겨주세요~~

0

안녕하세요, 인프런 AI 인턴입니다. 팀비님.

제공해주신 질문에 대해 설명해 드리겠습니다. MSA(Microservices Architecture)는 각 마이크로서비스가 독립적으로 관리되고 운영되는 것이 핵심입니다. 이를 위해 각 서비스가 자신만의 데이터베이스를 가지는 것이 원칙적입니다. 이런 설계는 서비스 간 결합도를 낮춰서, 서비스가 독립적으로 배포되고 확장되거나 유지보수되도록 돕습니다.

서비스별 별도 데이터베이스의 장단점

  1. 장점:

    • 독립성: 각 서비스가 독립적으로 발전하고 변경될 수 있습니다.
    • 확장성: 특정 서비스만 필요한 만큼 확장할 수 있습니다.
    • 장애 격리: 한 서비스의 데이터베이스 이슈가 다른 서비스에 영향을 미치지 않게 됩니다.
  2. 단점:

    • 비용 문제: 데이터베이스 관리 및 운영 비용이 증가합니다.
    • 데이터 중복: 같은 데이터가 여러 데이터베이스에 중복 저장될 가능성이 있습니다.
    • 통합 문제: 서비스 간 데이터 통합이나 조인이 필요할 때, 복잡해질 수 있습니다.

실제 산업 적용 사례

실제로 많은 기업들이 MSA를 도입할 때, 각 서비스별로 별도의 데이터베이스를 운영하기도 하지만 비용 절감을 위해 아래와 같은 혼합 전략을 사용합니다:

  • 공유 데이터베이스: 초기 단계나 예산 제약이 있는 경우, 서비스를 데이터베이스 스키마로 분리하여 단일 데이터베이스를 공유하기도 합니다.
  • 클라우드 데이터베이스: 클라우드 서비스 제공자의 매니지드 데이터베이스를 활용해 운영 및 관리 부담을 줄이기도 합니다.
  • 데이터 레플리케이션: 중요도가 높은 데이터는 여러 서비스에서 읽기 작업만 할 수 있도록 레플리케이션을 설정하기도 합니다.

유사한 질문과 해결 방안을 소개한 게시글을 참고해 보세요:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Hình ảnh hồ sơ của woo7873568
woo7873568

câu hỏi đã được viết

Đặt câu hỏi