module
Version:
v0.0.0-...-5d8c97e
Opens a new window with list of versions in this module.
Published: Aug 6, 2019
License: MIT
Opens a new window with license information.
README
¶
kit-demo
go-kit的demo系统
包含一个服务端,一个cli客户端,一个公共协议包。
目demo的开发目的:
- 学习和分享交流
- 为微服务开发,尤其是基于kit的微服务开发,提供参考
没有单元测试。正式项目开发应至少为基础逻辑提供单元测试
几个组件是因为找不到合适的开源项目,自己实现的,但也是自己思考已久的结果。因为是新实现的,功能简单,质量强差人意,待以后慢慢优化完善。
特性
已实现特性
待实现特性
也许大目标
- 根据proto接口定义文件生成接口逻辑代码(endpoint和transport)
分支
基于fasthttp提供HTTP服务。
基于fasthttp和github.com/wencan/kit-plugins/transport/fasthttp实现。
目前存在以下问题:
-
fasthttp不支持HTTP/2,不能像net/http那样同时提供GRPC服务。该分支未启用GRPC服务。
-
github.com/wencan/kit-plugins/transport/fasthttp参照fasthttp的设计,会尽可能复用对象。但server端响应对象的复用关系到endpoint的逻辑。其它transport并未考虑对象的复用。不想因为fasthttp改变其它部分的逻辑,因此为fasthttp添加了CompatibleServer,实现了部分对象复用的丑逻辑。
如果有心使用github.com/wencan/kit-plugins/transport/fasthttp,应参照fasthttp的设计,尽可能复用全部可复用的对象。
目录结构
|-- go-cli // cli客户端
| |-- endpoint // endpoint
| `-- transport // 传输层
| |-- grpc // grpc传输层
| `-- http // http传输层
|-- go-service // 服务
| |-- cmd // 接口逻辑
| | |-- endpoint // endpoint
| | `-- transport // 传输层
| | |-- grpc // grpc传输层
| | `-- http // http传输层
| `-- service // 业务逻辑实现
`-- protocol // 协议
|-- *.proto // 接口定义
|-- github.com/... // 生成的grpc接口
|-- google.golang.org/... // 生成的grpc接口
`-- model // 协议请求/响应数据模型
Directories
¶
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
protocol
|
|
|
|
|
|
|
|
Click to show internal directories.
Click to hide internal directories.