KO
|
EN
gitlite — search
Search
#python
#javascript
#php
#ruby
#hacktoberfest
#html
#c
#macos
#arduino
#puppet
#scala
#blog
kit
★ 27,418
Open GitHub ↗
마이크로서비스를 위한 표준 라이브러리입니다.
Download README (.md)
Explore Similar Repositories
trufflehog
:
Find, verify, and analyze leaked credentials
mongoose
:
MongoDB object modeling designed to work in an asynchronous environment.
eslint
:
Find and fix problems in your JavaScript code.
ungoogled-chromium
:
Google Chromium, sans integration with Google
claude-hud
:
A Claude Code plugin that shows what's happening - context usage, active tools, running agents, and todo progress
// repository documentation
원문보기 (View Original)
// original (English)
Was this content helpful?
★ 0
(0 ratings)
Select Rating:
★
★
★
★
★
Submit Feedback
Recent Feedback
×
Download README
Do you want to download the
README.md
file for
kit
?
원문 다운로드 (English .md)
한글 번역본 다운로드 (Korean .md)
# Go kit  [](https://pkg.go.dev/github.com/go-kit/kit?tab=doc) [](https://codecov.io/gh/go-kit/kit) [](https://goreportcard.com/report/go-kit/kit) [](https://sourcegraph.com/github.com/go-kit/kit?badge) \*\*Go kit\*\*는 Go로 마이크로서비스(또는 우아한 모놀리스)를 구축하기 위한 \*\*프로그래밍 툴킷\*\*입니다. 분산 시스템 및 애플리케이션 아키텍처의 공통적인 문제들을 해결하여 비즈니스 가치 전달에 집중할 수 있도록 돕습니다. - 웹사이트: [gokit.io](https://gokit.io) - 메일링 리스트: [go-kit](https://groups.google.com/forum/#!forum/go-kit) - Slack: [gophers.slack.com](https://gophers.slack.com) \*\*#go-kit\*\* ([초대](https://gophersinvite.herokuapp.com/)) ## 스폰서 [ **Encore – Go 기반 클라우드 백엔드를 구축하기 위한 플랫폼.**](https://encore.dev) 후원에 대한 자세한 내용은 [여기](https://github.com/sponsors/peterbourgon)를 클릭하거나 상단의 Sponsor를 확인해 주세요. ## 동기 Go는 서버의 언어로 부상했지만, Facebook, Twitter, Netflix, SoundCloud와 같은 이른바 "현대적인 기업"들 사이에서는 여전히 그 비중이 낮습니다. 이러한 조직 중 상당수는 마이크로서비스 아키텍처를 직접 지원하는 라이브러리와 생태계 덕분에 비즈니스 로직을 위해 JVM 기반 스택을 도입했습니다. Go가 다음 단계의 성공을 거두려면 단순한 프리미티브와 관용구 그 이상이 필요합니다. 대규모 환경에서 일관된 분산 프로그래밍을 수행할 수 있는 종합적인 툴킷이 필요합니다. Go kit은 모든 규모의 조직을 위해 마이크로서비스를 구축할 수 있는 포괄적이고 강력하며 신뢰할 수 있는 방법을 제공하는 패키지 및 모범 사례 모음입니다. 자세한 내용은 [웹사이트](https://gokit.io), [동기가 담긴 블로그 글](http://peter.bourgon.org/go-kit/), [발표 영상](https://www.youtube.com/watch?v=iFR\_7AKkJFU)을 참고하세요. 또한 [GopherCon 2015의 Go kit 발표](https://www.youtube.com/watch?v=1AjaZi4QuGo)도 참고하시기 바랍니다. ## 목표 - 이질적인 SOA에서 운영 — 주로 Go kit을 사용하지 않는 서비스와 상호 작용할 것을 예상 - 기본 메시징 패턴으로 RPC 사용 - 플러그인 가능한 직렬화 및 전송 — 단순히 HTTP 기반의 JSON에 국한되지 않음 - 기존 인프라 내에서 운영 — 특정 도구 나 기술에 대한 강제성 없음 ## 비목표 - RPC 외의 메시징 패턴 지원 (현재로서는) — 예: MPI, pub/sub, CQRS 등 - 기존 소프트웨어를 어댑팅하여 제공할 수 있는 기능의 재구현 - 운영 관점에 대한 견해 제시: 배포, 설정, 프로세스 감독, 오케스트레이션 등 ## 기여하기 [CONTRIBUTING.md](/CONTRIBUTING.md)를 참고해 주세요. [기여자분들](https://github.com/go-kit/kit/graphs/contributors)께 감사드립니다! ## 의존성 관리 Go kit은 [modules](https://github.com/golang/go/wiki/Modules)를 지원하며, 사용자들에게 표준 모듈 도구를 사용할 것을 권장합니다. 하지만 Go kit은 메이저 버전 0이므로, 모듈을 사용하지 않는 환경과도 호환되어야 합니다. ## 코드 생성기 시작 가정에 따라 Go kit 코드를 생성할 수 있는 여러 가지 서드파티 도구가 있습니다. - [RecoLabs/microgen](https://github.com/RecoLabs/microgen) - [GrantZheng/kit](https://github.com/GrantZheng/kit) - [kujtimiihoxha/kit](https://github.com/kujtimiihoxha/kit) (유지보수 중단됨) - [nytimes/marvin](https://github.com/nytimes/marvin) - [sagikazarmark/mga](https://github.com/sagikazarmark/mga) - [sagikazarmark/protoc-gen-go-kit](https://github.com/sagikazarmark/protoc-gen-go-kit) - [metaverse/truss](https://github.com/metaverse/truss) - [goadesign/goakit](https://github.com/goadesign/plugins/tree/v3/goakit) ## 관련 프로젝트 ★ 표시가 있는 프로젝트는 Go kit의 설계에 지대한 영향(또는 그 반대)을 준 프로젝트입니다. ### 서비스 프레임워크 - [gizmo](https://github.com/nytimes/gizmo), The New York Times의 마이크로서비스 툴킷 ★ - [go-micro](https://github.com/micro/go-micro), 분산 시스템 개발 프레임워크 ★ - [gotalk](https://github.com/rsms/gotalk), 비동기 피어 통신 프로토콜 및 라이브러리 - [Kite](https://github.com/koding/kite), 마이크로서비스 프레임워크 - [gocircuit](https://github.com/gocircuit/circuit), 동적 클라우드 오케스트레이션 ### 개별 컴포넌트 - [afex/hystrix-go](https://github.com/afex/hystrix-go), 클라이언트 측 지연 시간 및 내결함성 라이브러리 - [armon/go-metrics](https://github.com/armon/go-metrics), 성능 및 런타임 메트릭을 외부 메트릭 시스템으로 내보내는 라이브러리 - [codahale/lunk](https://github.com/codahale/lunk), Google의 Dapper 또는 Twitter의 Zipkin 스타일의 구조화된 로깅 - [eapache/go-resiliency](https://github.com/eapache/go-resiliency), 복원력 패턴 - [sasbury/logging](https://github.com/sasbury/logging), 태그가 지정된 스타일의 로깅 - [grpc/grpc-go](https://github.com/grpc/grpc-go), HTTP/2 기반 RPC - [inconshreveable/log15](https://github.com/inconshreveable/log15), 단순하고 강력한 Go용 로깅 ★ - [mailgun/vulcand](https://github.com/vulcand/vulcand), etcd 기반의 프로그래밍 가능한 로드 밸런서 - [mattheath/phosphor](https://github.com/mondough/phosphor), 분산 시스템 트레이싱 - [pivotal-golang/lager](https://github.com/pivotal-golang/lager), 주관이 확실한 로깅 라이브러리 - [rubyist/circuitbreaker](https://github.com/rubyist/circuitbreaker), 회로 차단기(circuit breaker) 라이브러리 - [sirupsen/logrus](https://github.com/sirupsen/logrus), Go용 구조화된 플러그인 가능 로깅 ★ - [sourcegraph/appdash](https://github.com/sourcegraph/appdash), Google의 Dapper 기반 애플리케이션 트레이싱 시스템 - [spacemonkeygo/monitor](https://github.com/spacemonkeygo/monitor), 데이터 수집, 모니터링, 계측 및 Zipkin 클라이언트 라이브러리 - [streadway/handy](https://github.com/streadway/handy), net/http 핸들러 필터 - [vitess/rpcplus](https://godoc.org/github.com/youtube/vitess/go/rpcplus), 패키지 rpc + context.Context - [gdamore/mangos](https://github.com/gdamore/mangos), 순수 Go로 구현한 nanomsg ### Web frameworks - [Gorilla](http://www.gorillatoolkit.org) - [Gin](https://gin-gonic.com/) - [Negroni](https://github.com/codegangsta/negroni) - [Goji](https://github.com/zenazn/goji) - [Martini](https://github.com/go-martini/martini) - [Beego](https://beego.vip/) - [Revel](https://revel.github.io/) ([유해함](https://github.com/go-kit/kit/issues/350)으로 간주됨) - [GoBuffalo](https://gobuffalo.io/) ## Additional reading - [Architecting for the Cloud](https://slideshare.net/stonse/architecting-for-the-cloud-using-netflixoss-codemash-workshop-29852233) — Netflix - [Dapper, a Large-Scale Distributed Systems Tracing Infrastructure](http://research.google.com/pubs/pub36356.html) — Google - [Your Server as a Function](http://monkey.org/~marius/funsrv.pdf) (PDF) — Twitter