Golang 微服务 RPC 框架KiteX v0.3.0 版本发布

Feature

  • 功能(client): 客户端支持预热操作。

  • 功能(mux): 连接多路复用支持优雅关闭。

  • 功能(protobuf): 定义 fastpb protocol API 并在编解码模块对应支持。

Optimise

  • 优化(connpool): 导出 pkg/remote/connpool 里的 getCommonReporter。

  • 优化(rpcinfo):填充由 defaultCodec 解码得到的 rpcinfo 中缺失的 Invocation().PackageName, Invocation().ServiceName and Config().TransportProtocol 字段。

Bugfix

  • 修复(mux): 在 NetpollMux transHandler 中设置 sendMsg的PayloadCodec,以修复泛化请求编码报错问题,issue #411。

  • 修复(grpc): 修复 http2 framer 的读写逻辑,例如避免对端无法及时收到 framer。

  • 修复(utils):修复了 Dump() 接口无法 dump 出 ring 里所有数据的 bug。

  • 修复(trans):当写入失败时,关闭连接以避免内存泄漏。

Tool

  • tool(protobuf): 重新设计并实现 Protobuf 生成代码,不使用反射完成编解码,当前仅支持 proto3。

Chore

  • chore: 用 bytedance/gopkg 里的 xxhash3 替换掉 cespare/xxhash。

  • chore: 升级 workflow 的 go 版本到 1.18。

  • chore: 单独增加文件对 grpc 源码使用做声明。

Test

  • test: 补充 kitex/server 的单测。

  • test: 补充 pkg/remote/bound package 单测。

  • test: 补充 netpollmux package 单测。

  • test: 补充 klog package 单测。

  • test: 补充 utils package 单测。

  • test: 补充 gRPC transport 部分的单测,单测覆盖率提升到 76%。

  • test: 补充 transmeta 实现 handler 的单元测试。

Dependency Change

  • github.com/cloudwego/netpoll: v0.2.0 -> v0.2.2

  • github.com/bytedance/gopkg: 20210910103821-e4efae9c17c3 -> 20220413063733-65bf48ffb3a7

编程学习分享 » Golang 微服务 RPC 框架KiteX v0.3.0 版本发布

赞 (0) or 分享 (0)