통합 HTTP·gRPC 전송 계층, 미들웨어, Protobuf 기반 코드 생성을 제공하는 경량 Go 클라우드 네이티브 마이크로서비스 프레임워크입니다.
zeromicro/go-zero
내장 복원력 기능과 .api 명세 기반 goctl 코드 생성기를 제공하는 Go 웹 및 RPC 마이크로서비스 프레임워크입니다.
- 스타
- 33,398
- 포크
- 4,333
- 열린 이슈
- 255
- 마지막 커밋
- 그저께
어떤 프로젝트인가요?
go-zero는 Go로 작성된 웹 및 RPC 프레임워크로, 높은 동시성 환경에서도 안정적으로 동작해야 하는 마이크로서비스 시스템을 위해 설계되었습니다. 체인형 타임아웃 제어, 동시성 제어, 속도 제한, 적응형 서킷 브레이커와 적응형 부하 차단 등 일반적인 엔지니어링 관행을 기본으로 제공하며, 이 중 상당수는 별도 설정 없이 사용할 수 있습니다.
go-zero는 goctl CLI 도구와 함께 제공됩니다. 개발자는 간단한 .api 문법이나 .proto 파일로 API를 정의하고, goctl을 사용해 핸들러, 로직, 서비스 컨텍스트, 타입이 지정된 요청/응답 구조체가 포함된 Go 서버 기본 코드를 생성할 수 있습니다. 같은 .api 파일에서 Java, Dart, TypeScript, JavaScript, Kotlin, iOS, Android용 클라이언트 코드도 생성할 수 있습니다.
또한 개발 워크플로를 위한 AI 어시스턴트 지침을 제공하며, Model Context Protocol을 지원하는 도구에서 goctl 코드 생성 기능을 사용할 수 있도록 하는 MCP 어댑터도 포함합니다. 핵심 프레임워크는 net/http와 완전히 호환됩니다.
핵심 기능
- 01서킷 브레이커, 속도 제한, 부하 차단, 타임아웃 제어 기능 내장
- 02goctl을 사용해 .api 또는 .proto 명세에서 Go 서비스 코드 생성
- 03요청 파라미터 자동 검증
- 04하나의 .api 파일에서 여러 언어의 클라이언트 코드 생성
- 05net/http와 완전히 호환되며 기존 미들웨어와 통합 가능
활용 사례
- 내장 복원력 보호 기능이 필요한 고트래픽 REST API 구축
- 마이크로서비스 아키텍처에서 서로 통신하는 여러 RPC 서비스 개발
- 단일 API 명세에서 Go와 모바일 또는 웹 프런트엔드용 기본 코드 및 클라이언트 SDK 생성
빠른 시작
- 1
Go로 goctl 설치하기
go install github.com/zeromicro/go-zero/tools/goctl@latest - 2
API 파일 greet.api 만들기(goctl이 템플릿 생성)
goctl api -o greet.api - 3
API 파일에서 Go 서버 코드 생성하기
goctl api go -api greet.api -dir greet - 4
생성된 서비스 실행하기
cd greet && go mod tidy && go run greet.go -f etc/greet-api.yaml
포함된 컬렉션
토픽
자주 묻는 질문
- go-zero은(는) 무엇인가요?
- 내장 복원력 기능과 .api 명세 기반 goctl 코드 생성기를 제공하는 Go 웹 및 RPC 마이크로서비스 프레임워크입니다. go-zero는 Go로 작성된 웹 및 RPC 프레임워크로, 높은 동시성 환경에서도 안정적으로 동작해야 하는 마이크로서비스 시스템을 위해 설계되었습니다. 체인형 타임아웃 제어, 동시성 제어, 속도 제한, 적응형 서킷 브레이커와 적응형 부하 차단 등 일반적인 엔지니어링 관행을 기본으로 제공하며, 이 중 상당수는 별도 설정 없이 사용할 수 있습니다.
- go-zero은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- go-zero은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- go-zero은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. go-zero의 마지막 커밋은 2026년 10월 21일입니다.
- go-zero은(는) 어디에 사용할 수 있나요?
- 내장 복원력 보호 기능이 필요한 고트래픽 REST API 구축 마이크로서비스 아키텍처에서 서로 통신하는 여러 RPC 서비스 개발 단일 API 명세에서 Go와 모바일 또는 웹 프런트엔드용 기본 코드 및 클라이언트 SDK 생성
- go-zero는 어떻게 설치하나요?
- Go로 goctl 설치하기: go install github.com/zeromicro/go-zero/tools/goctl@latest API 파일 greet.api 만들기(goctl이 템플릿 생성): goctl api -o greet.api API 파일에서 Go 서버 코드 생성하기: goctl api go -api greet.api -dir greet 생성된 서비스 실행하기: cd greet && go mod tidy && go run greet.go -f etc/greet-api.yaml
- go-zero은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/zeromicro/go-zero
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
다양한 프로그래밍 언어에서 호환되는 클라이언트와 서버를 생성하는 코드 생성기를 갖춘 언어 독립적인 RPC 프레임워크입니다.
서비스 통신, 디스커버리, 트래픽 관리를 위한 RPC 및 마이크로서비스 프레임워크 Apache Dubbo의 Java 구현체입니다.
Martini와 비슷한 API를 제공하며 REST API, 웹 앱, 마이크로서비스 구축에 적합한 고성능 Go HTTP 웹 프레임워크입니다.
최소한의 설정으로 운영 환경에 적합한 Spring 기반 애플리케이션과 서비스를 만들 수 있는, 기본 설정이 잘 갖춰진 Java 프레임워크입니다.
Istio와 Envoy 기반의 클라우드 네이티브 API 게이트웨이로, LLM 제공자와 MCP 서버 호스팅을 위한 AI 게이트웨이 기능을 제공합니다.