강의

멘토링

커뮤니티

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

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

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

Hệ thống sự kiện đến trước được phục vụ trước để học thông qua thực hành

Sử dụng Consumer

ApplyService와 Consumer서비스의 db공유?

Viết

·

28

0

안녕하세요 강의 잘 듣고 있습니다.

ApplyService와 Consumer서비스의 db관련 질문을 하려 합니다.

9:30분쯤부터 ApplyService와 컨슈머서비스를 분리해서 테스트를 진행하는데 AppliServiceTest를 보면 자신의 CouponRepository에서 count개수가 100개인지 체크하는것 같습니다. 저는 쿠폰생성 및 저장 로직을 전부 컨슈머서비스로 옮겨서 여기서 쿠폰테이블을 관리한다고 생각했는데 어떻게 ApplyService가 자신이 이전에 사용하던 CouponRepository에서 count 체크가 가능한건지 궁금합니다. 혹시 두 서비스가 하나의 db를 공유하는건가요?

javadockerspring-bootkafkaredis

Câu trả lời 2

0

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

차성호님 안녕하세요!
말씀하신대로 consumer 와 service 에서 동일한 db 를 공유하고 있기에 가능한것입니다.
감사합니다.

0

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

차성호님, 강의를 열심히 수강해 주셔서 감사합니다. 질문하신 내용은 ApplyService와 Consumer 서비스가 어떻게 데이터베이스를 공유하고 있는지에 대한 부분인 것 같습니다.

  1. 공유 데이터베이스:
    두 개의 서비스인 ApplyService와 Consumer 서비스가 동일한 데이터베이스를 참조하고 있는 경우, 각각의 서비스가 데이터베이스의 동일한 테이블에 접근할 수 있습니다. 따라서 ApplyService에서 쿠폰의 개수를 조회(count)하는 것이 가능합니다. 이는 일반적으로 서비스 간의 데이터 일관성을 유지하고, 동일한 데이터를 활용하여 다양한 서비스를 구성할 때 사용됩니다.

  2. 분리된 서비스, 공유된 DB:
    이 패턴은 마이크로서비스 아키텍처에서 자주 발생합니다. 실제로는 서비스 단에서는 서로 독립적으로 동작하되, 데이터베이스는 공유하여 데이터를 일관성 있게 관리할 수 있습니다. 이러한 방식에서는 데이터베이스 연결 정보를 각 서비스에 동일하게 설정하여 접근할 수 있게 합니다.

  3. 장점과 고려 사항:
    공유 데이터베이스를 사용할 경우, 두 서비스가 데이터 충돌 없이 잘 동작하도록 관리하는 것이 중요합니다. 이를 위해 트랜잭션 관리, 접근 제한 및 각 서비스의 개별적인 책임 구분이 필요합니다.

아래는 유사한 사례에 대한 설명을 다룬 게시물입니다. 서비스 간 데이터베이스 공유 패턴에 대한 자세한 설명

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

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

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

Đặt câu hỏi