①. Transport:
a.决定用哪种方式提供服务请求(http,rpc)
b. 主要负责与HTTP、gRPC、thrift等通信的相关逻辑
c. 怎么去传参、传什么?下面Endpoint只是定义.
②. Endpoint:
a. 定义Request和Response格式,并可以使用装饰器包装函数,来实现各种中间件嵌套.
b. go-kit的主要消息传递模式是RPC,端点表示单个RPC方法.
c. Go工具包服务中的每个服务方法都转换为端点,便于在服务器和客户端之间进行RPC样式通信.
d. 每个端点使用传输层通过使用HTTP或gRPC等具体传输将服务方法公开给外部.1. 可以使用多个传输来公开单个端点.
e. 抽象的接收请求返回响应的函数类型,且调用service层的方法,组装成response返回.
f. go-kit中的所有中间件组件都是通过装饰者设计模式注入的.3、Service
a. 业务类、接口等,具体实现什么功能.
b. 不具有端点或HTTP或gRPC等具体传输的任何东西,或请求和响应消息类型的编码和解码.
c. 每种服务方法都通过适配器转换为端点,并使用具体传输进行公开.可以使用多个传输来公开单个Go工具包服务.