# go kit --- go-kit的架构如图3所示,分为三层结构:Transport层,Endpoint层,Service层。 - **Transport层** 主要负责与传输协议HTTP,GRPC,THRIFT等相关的逻辑 - **Endpoint层** 主要负责request/response格式的转换,以及公用拦截器相关的逻辑 - **Service层** 专注于业务逻辑。 go-kit除了经典的分层架构外,还在endpoint层提供了很多公用的拦截器,如log,metric,tracing,circuitbreaker,rate-limiter等,来保障业务系统的可用性。它们在设计上有一个共同特点:都是同传输协议无关的。 在之前的一些http框架中,这些拦截器同传输协议是紧紧耦合在一起的,如果,此时我需要将某些HTTP接口改造成GRPC协议的接口,那么这些拦截器我还得再基于grpc再实现一遍,设计上存在一定的冗余。因此,借助go-kit这套工具集,我们就能很好的对transport协议,middleware进行扩展,且不会影响到业务本身的设计。 ###### tags: `golang` `micro service` `架构设计`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up