ContentGit은 컨텐츠 저장소로 Git 처럼 컨텐츠를 관리하며 REST API를 제공합니다.
ContentGit은 핵사고날 아키텍처와 이벤트 소싱을 사용합니다.
이미지 출처 : Micoservices Patterns
기술 스택을 단순화하기 위해 MessageQueue 는 PostgreSQL을 확장한 PGMQ를 사용합니다. PGMQ 사용에 대한 자세한 내용은 '트랜잭셔널 메시징에도, 그냥 PostgreSQL 쓰세요'을 참조하세요.
- Go 설치
Go는 1.23.3 버전을 사용합니다.
- Go 의존성 라이브러리 설치
go mod download
- Postgres 설치
아래 도커 명령어로 Postgres 컨테이너를 실행합니다.
docker run -d --name pgmq-postgres -e POSTGRES_PASSWORD=postgres -p 5432:5432 bettercode2016/pg16-pgmq:latest
- 데이터베이스 생성
psql 이나 pgAdmin 등으로 데이터베이스에 접속하여 아래 SQL을 실행합니다. create_database.sql
- 실행
export DB_PASSWORD=postgres
go run main.go
아래 테스트 코드를 참고하세요. content_controller_test.go
go test ./...