본문으로 이동
스프링캠프 2024 [Track 1] 4.실전! MSA 개발 가이드 (김용욱)
컨퍼런스

스프링캠프 2024 [Track 1] 4.실전! MSA 개발 가이드 (김용욱)

SpringCamp 2024 · YouTube

원문 보기

AI 핵심 요약

서비스별 데이터베이스 분리에서 생기는 조회 성능과 데이터 정합성 문제를 실무적인 구현 방법으로 설명한다. 조회에서는 건별 REST API 호출로 발생하는 N+1을 피하고 일괄 조회를 사용하며, 자주 참조하는 데이터는 필요한 속성만 복제하거나 Ehcache 같은 로컬 캐시를 적용할 수 있다. 서비스 간 쓰기는 데이터베이스 트랜잭션처럼 자동 롤백되지 않으므로 이벤트 재시도, 멱등 처리, 대사 작업을 활용하고 업무에 맞게 모델과 서비스 경계를 조정한다. 모든 상황을 기술로 완벽히 보장하려 하기보다 실제 업무에서 문제가 되는 지점을 살피고, 필요하면 서비스 분할을 바꾸는 것이 실전적인 교훈이다.

  • 서비스 간 조회는 건별 API 호출을 피하고, 필요한 키를 모아 일괄 조회 API로 전달한다.
  • 자주 참조하지만 잘 바뀌지 않는 데이터는 필요한 속성만 복제하거나 로컬 캐시에 두는 방안을 검토한다.
  • 로컬 캐시는 인스턴스 간 동기화를 시도하지 말고, 크기와 힙 사용량을 모니터링한다.
  • 서비스 간 쓰기는 중복 전달될 수 있으므로 같은 요청이 여러 번 처리돼도 결과가 안전하도록 멱등성을 고려한다.
  • 서비스 경계와 데이터 모델은 업무 흐름에 맞춰 조정하고, 구현 부담이 지나치면 서비스를 합치는 선택도 가능하다.

소개

[초급] 마이크로서비스를 개발할 때 가장 어려워하는 부분은 서비스 별로 데이터베이스를 분리한다는 점입니다. SQL JOIN을 REST API로 대체하려니 성능이 느릴 것 같고 데이터베이스의 트랜잭션 보장이 없어지니 정합성이 깨지지 않을까 걱정합니다. 마이크로서비스와 함께 API Composition, Event Sourcing, CQRS, SAGA 같은 반짝이는 기술들이 함께 소개되었지만, 실전에선 이보다는 평범한 기술을 사용하는 경우가 많습니다. 관련해서 마이크로서비스를 개발할 때의 구현 이슈를 소개하고, 실전에서는 어떻게 풀어내는지 소개합니다. 🎙️ 김용욱 (삼성 SDS) 🗓️ 스프링캠프 2024 Track 1 - 4 (2024년 05월 25일) 🧭 SETEC 컨벤션센터 📂 발표자료 : http://springcamp.ksug.org/2024/static/docs/T1S4.pdf 📺 스프링캠프 2024 영상 모두 보기 : https://youtube.com/pla...

비슷한 학습 자료

컨퍼런스 SpringCamp 2025

🎙️ 김용욱 (삼성 SDS) 🗓️ 스프링캠프 2025 Track 1 - 4 (2025년 06월 28일) 🧭 스페이스쉐어 삼성 📂 발표자료 : https://github.com/springcamp/presentations/tree/main/SpringCamp-2025-Presentations [🔗 스프링캠프 & KSUG] 스프링캠프 2025 웹 https://springcamp.ksug.org/2025/ 스프링캠프 페이스북 https://www.facebook.com/springcampkr/ 스프링캠프 유튜브 https://www.youtube.com/@springcampkr KSUG 웹 https://www.ksug.org/ KSUG 구글 그룹 https://groups.google.com/g/ksug KSUG 페이스북 https://www.facebook.com/groups/springkorea KSUG 유튜브 https://www.youtube.com/...

백엔드

컨퍼런스 SpringCamp 2025

🎙️ 김근수 (머니무브) 🗓️ 스프링캠프 2025 Track 1 - 6 (2025년 06월 28일) 🧭 스페이스쉐어 삼성 📂 발표자료 : https://github.com/springcamp/presentations/tree/main/SpringCamp-2025-Presentations [🔗 스프링캠프 & KSUG] 스프링캠프 2025 웹 https://springcamp.ksug.org/2025/ 스프링캠프 페이스북 https://www.facebook.com/springcampkr/ 스프링캠프 유튜브 https://www.youtube.com/@springcampkr KSUG 웹 https://www.ksug.org/ KSUG 구글 그룹 https://groups.google.com/g/ksug KSUG 페이스북 https://www.facebook.com/groups/springkorea KSUG 유튜브 https://www.youtube.com/@w...

개발 · 프로그래밍 기타

컨퍼런스 SpringCamp 2024

[초급] Spring AI와 함께 실험하고 성장하는 AI 개발 생성형 AI 시대, LLM을 이용하여 AI 애플리케이션을 사용하기 위해서는 API 연동이 필요합니다. Python 진영에서는 이미 LangChain 이나 Llama Index 등의 프레임워크가 널리 알려지고 사용되고 있습니다. Spring 팀에서도 생성형 AI 애플리케이션이 Python 개발자뿐만 아니라 여러 프로그래밍 언어에 걸쳐 보편화될 것이라는 믿음으로 Spring AI 프로젝트를 시작했습니다. Spring AI의 핵심은 AI 애플리케이션 개발의 기반이 되는 추상화를 제공하는 것입니다. 추상화의 끝판왕인 Spring에서는 이를 어떻게 풀어냈는지 함께 살펴보면서 AI 서비스 개발 경험과 능력을 함께 성장해보시죠! 🎙️ 황민호 (카카오) 🗓️ 스프링캠프 2024 Track 1 - 2 (2024년 05월 25일) 🧭 SETEC 컨벤션센터 📂 발표자료 : http://springcamp.ksug.org/2024/...

백엔드 AI에이전트 개발

컨퍼런스 SpringCamp 2024

[초급] 안정성이 중요한 은행 환경에서 트래픽이 많은 홈 서비스를 새로 개발하며, 동료들과 함께 고민하고 결정했던 경험을 공유해보려 합니다. 과거의 결정들에 대한 회고와 함께 저희 팀의 여정을 돌아보겠습니다. 🎙️ 이영규 (카카오뱅크) 🗓️ 스프링캠프 2024 Track 1 - 5 (2024년 05월 25일) 🧭 SETEC 컨벤션센터 📂 발표자료 : http://springcamp.ksug.org/2024/static/docs/T1S5.pdf 📺 스프링캠프 2024 영상 모두 보기 : https://youtube.com/playlist?list=PLdHtZnJh1KdY3gEi7EPa2AuWn5NKRVmDf&si=XE89UrhYKkIb1-oe [🔗 스프링캠프 & KSUG] 스프링캠프 2024 웹 https://springcamp.ksug.org/2024/ 스프링캠프 페이스북 https://www.facebook.com/springcampkr/ 스프링캠프 유튜브 ...

백엔드

컨퍼런스 SpringCamp 2024

[중급] 현대에는 수천, 수만의 동시 요청을 처리하는 서버를 구현하기 위해 멀티 스레드, 논블로킹, 액터 모델, 리액티브 프로그래밍 등 다양한 기술 활용하고 있습니다. 그중에서 코틀린의 코루틴과 JDK 21에서 정식 릴리즈된 버추얼 스레드는 가장 우아하고 현대적인 동시성 기법으로 평가받고 있습니다. 이번 기회를 통해 두 기술의 차이점과 통합하는 방법에 대해 알아보고자 합니다. 🎙️ 이상훈 (엘박스) 🗓️ 스프링캠프 2024 Track 2 - 1 (2024년 05월 25일) 🧭 SETEC 컨벤션센터 📂 발표자료 : http://springcamp.ksug.org/2024/static/docs/T2S1.pdf 📺 스프링캠프 2024 영상 모두 보기 : https://youtube.com/playlist?list=PLdHtZnJh1KdY3gEi7EPa2AuWn5NKRVmDf&si=XE89UrhYKkIb1-oe [🔗 스프링캠프 & KSUG] 스프링캠프 2024 웹 ht...

백엔드 프로그래밍 언어

컨퍼런스 SpringCamp 2024

[초급] MSA가 대세가 되어진 세상입니다. 하지만 여전히 제한된 리소스에서 데이터를 처리해야하는 경우도 존재합니다. Data Sketch를 통하여 작은 리소스를 이용해서도 높은 성능을 낼수 있습니다. bloom filter, count min sketch, hyperloglog 같은 대표적인 Data Sketch에 대해 알아보고 상황에 따른 활용에 대해 이야기 해보자 합니다. 🎙️ 황영 (IMQA) 🗓️ 스프링캠프 2024 Track 2 - 4 (2024년 05월 25일) 🧭 SETEC 컨벤션센터 📂 발표자료 : http://springcamp.ksug.org/2024/static/docs/T2S4.pdf 📺 스프링캠프 2024 영상 모두 보기 : https://youtube.com/playlist?list=PLdHtZnJh1KdY3gEi7EPa2AuWn5NKRVmDf&si=XE89UrhYKkIb1-oe [🔗 스프링캠프 & KSUG] 스프링캠프 2024 웹 h...

알고리즘 · 자료구조 데이터베이스