Repolode
zeromicro

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. 1

    Go로 goctl 설치하기

    go install github.com/zeromicro/go-zero/tools/goctl@latest
  2. 2

    API 파일 greet.api 만들기(goctl이 템플릿 생성)

    goctl api -o greet.api
  3. 3

    API 파일에서 Go 서버 코드 생성하기

    goctl api go -api greet.api -dir greet
  4. 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 통계는 매일 갱신됩니다.

관련 프로젝트