일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- kotlin querydsl
- golang
- Elasticsearch
- Spring
- 기록으로 실력을 쌓자
- Pinpoint
- APM
- Kubernetes
- CKA 기출문제
- Linux
- MySQL
- 오블완
- AWS EKS
- CKA
- kotlin coroutine
- kotlin
- SRE
- 공부
- 정보처리기사 실기 기출문제
- aws
- PETERICA
- minikube
- go
- Java
- AI
- tucker의 go 언어 프로그래밍
- 티스토리챌린지
- CloudWatch
- 정보처리기사실기 기출문제
- 코틀린 코루틴의 정석
- Today
- Total
피터의 개발이야기
[AI] MSA 서비스를 분석하는 가장 확실한 방법– 문서 중심 지식기반 개발 전략 본문
ㅁ 들어가며
MSA 구조는 유연하고 확장성이 높다. 하지만 그만큼 복잡하다. 모듈 간 호출 흐름이 얽혀 있고, 장애 발생 시 근본 원인을 빠르게 파악하기 어렵다. 이런 구조를 효율적으로 분석하고 이해하기 위해선 명확한 접근 방식이 필요하다.
그 해답이 문서 기반 지식 엔지니어링(Documentation-Driven Knowledge Engineering) 이다.
ㅁ 왜 문서 중심인가?
코드는 진실이다. 하지만 항상 빠르게 이해할 수 있는 진실은 아니다. MSA 환경에서는 다음과 같은 문제가 자주 발생한다.
- 서비스 구조가 머릿속에 들어오지 않는다.
- API 호출 경로가 명확하지 않다.
- 장애 발생 시 관련 모듈을 찾기 어렵다.
- 분석 시간이 오래 걸린다.
이런 문제를 해결하려면, 각 모듈의 기능, 구조, API, 연동 흐름을 체계적으로 기록하고, 이를 기반으로 질문하고 이해하는 방식이 효과적이다.
ㅁ분석 방식
1. 모듈 단위로 폴더 분리
서비스 하나를 여러 모듈(STT, NLU, 라우터 등)로 나누고, 각 모듈별 폴더를 만든다.
project-docs/
├── module-a/
├── module-b/
├── module-c/
2. 핵심 문서 3종 작성
각 모듈에는 다음과 같은 문서를 작성한다.
structure.md
→ 주요 클래스, 디렉토리 구조, 내부 구성 요약api.md
→ 외부에 제공하는 API 목록, 호출하는 외부 API, 형식 및 동작flow.md
→ 실제 요청 흐름, 비즈니스 로직, 연동 흐름
3. 전체 시스템 요약
모듈 간 연결 구조와 흐름을 summary.md
또는 architecture.md
에 정리한다. 시퀀스 다이어그램이나 구조 그림을 함께 포함하면 효과적이다.
ㅁ 문서로부터 지식을 추출한다
이제 문서가 쌓이면, 그 자체가 지식 기반이 된다. 코드를 보지 않고도 질문할 수 있다.
- 이 기능은 어떤 모듈이 처리하는가?
- A 모듈이 호출하는 외부 API는 무엇인가?
- B 모듈은 실패 시 어떤 fallback을 사용하는가?
- 사용자 요청이 C까지 도달하는 경로는 어떻게 되는가?
이 질문에 문서로 바로 답할 수 있다면, 분석 속도가 빨라진다.
ㅁ Cursor와 함께 사용한다
Cursor 같은 AI 기반 코드 분석 도구와 함께 사용할 때 강력하다. 문서를 기반으로 Cursor에게 질문하면, 단순한 코드 이해를 넘어 시스템 레벨의 이해로 이어진다.
예시:
이 프로젝트는 MSA 구조의 서비스 분석 문서입니다.
각 모듈에 구조.md, api.md, flow.md가 있습니다.
‘사용자 요청이 실패했을 때 어떤 모듈에서 에러가 나는가?’에 대한 답을 문서에서 찾아주세요.
ㅁ장점
- 빠른 문제 추적
- 협업 효율 향상
- 신규 인력 온보딩 가속
- 테스트 시나리오 도출
- 문서 기반 지식 관리
ㅁ 마무리
MSA는 분산된 만큼 정리가 필요하다.
문서로 정리하고, 그 문서로 질문하고, 그 질문으로 이해한다.
그것이 진짜 구조를 아는 방법이다.
문서 중심 지식기반 개발은 복잡한 시스템을 단순하게 만든다.
'AI' 카테고리의 다른 글
[AI] 환경을 설계하는 시대: 프롬프트에서 컨텍스트 엔지니어링으로 (2) | 2025.07.10 |
---|---|
[AI] Cursor v1.2 업데이트 – 더욱 강력해진 기능 소개 (0) | 2025.07.08 |
[Cursor] Cursor 단축키 정리 (0) | 2025.06.30 |
[바이브코딩] ChatGPT를 기획자로 만들기 위한 명령프롬프트 작성법 (1) | 2025.06.21 |
[AI] 문서 기반 개발과 Cursor를 활용한 실전 개발 방법 (0) | 2025.06.20 |