JSCODE Logo
프로그래밍 과외블로그후기멘토진
회사명 : JSCODE대표 : 박재성사업자 등록번호 : 244-22-01557통신판매업 : 제 2023-인천미추홀-0381 호
학원 명칭 : 제이에스코드(JSCODE)원격학원학원설립ㆍ운영 등록번호 : 제6063호

서울특별시 구로구 경인로 20가길 11(오류동, 아델리아)

Copyright ⓒ 2025 JSCODE - 최상위 현업 개발자들의 프로그래밍 교육 All rights reserved.

이용약관개인정보처리방침
← 블로그 목록으로 돌아가기

‘데이터 동기화’를 활용한 게시글 조회 API 최적화하기

JSCODE 박재성
JSCODE 박재성
2025-12-06
author
JSCODE 박재성
category
MSA
createdAt
Dec 6, 2025
series
비전공자도 이해할 수 있는 MSA 입문/실전
slug
optimize-post-query-using-data-sync
type
post
updatedAt
Dec 6, 2025 05:43 AM

✅ ‘데이터 동기화’를 활용한 게시글 조회 API 최적화하기

notion image
‘게시글 조회 로직’을 구현할 때 위의 방식처럼 구현했었다. 위의 방식도 충분히 괜찮은 방식이지만, 게시글 조회 로직의 트래픽이 점차 증가하면서 사용자 서비스의 ‘사용자 DB’에 부담을 줄 수 있다. 또한 ‘게시글 조회 로직’이 더 복잡해져서 사용자 서비스 뿐만 아니라 여러 서비스에 데이터를 조회해서 사용해야 한다면 로직이 복잡해진다.
이런 문제가 발생한다면 게시글 조회 로직을 최적화 할 필요가 있다. 조회 로직의 가장 간단한 최적화 방법은 ‘데이터 동기화’이다. 그림으로 살펴보자.
 
notion image
게시글 서비스에서 게시글 조회를 할 때 사용자 서비스의 사용자 정보(user_id, name)를 같이 조회한다. 즉, 게시글 서비스는 사용자 정보(user_id, name)가 필요하다. 이걸 해결하기 위해 게시글 서비스에서 필요한 사용자 정보를 관리할 수 있는 테이블을 별도로 두는 것이다.
그러고 사용자 DB에서 데이터 변경이 일어날 때마다 카프카로 ‘사용자 정보 변경 메시지’를 발행한다. 그럼 게시글 서비스가 해당 메시지를 구독하고 있다가, 사용자 정보가 변경될 때마다 게시글 DB에 사용자 정보를 같이 동기화시켜주는 방식이다.
이런 식으로 구성하게 되면 게시글 서비스가 자체적으로 사용자 정보(user_id, name)을 가지고 있기 때문에, 게시글 정보를 조회할 때 사용자 서비스에 데이터를 따로 요청하지 않아도 된다. 그래서 사용자 DB에 부담을 주지 않게 되고, 게시글 조회 로직도 훨씬 간단하게 바뀌게 된다.
 
👨🏻‍🏫
다음 강의에서 위의 구조대로 코드를 작성해보자.
 
author
JSCODE 박재성
category
MSA
createdAt
Dec 6, 2025
series
비전공자도 이해할 수 있는 MSA 입문/실전
slug
type
series-footer
updatedAt
Dec 6, 2025 05:45 AM
📎
이 글은 비전공자도 이해할 수 있는 MSA 입문/실전 강의의 수업 자료 중 일부입니다.