Kitex v0.1.0 版本发布,高性能 Go RPC 框架

栏目: 软件资讯 · 发布时间: 2年前

内容简介:Kitex v0.1.0 版本已经发布,这是一个 Golang 微服务 RPC 框架,具有高性能、强可扩展的特点,在字节内部已广泛使用。如今越来越多的微服务选择使用 Golang,如果对微服务性能有要求,又希望定制扩展融入自己的治...

Kitex v0.1.0 版本已经发布,这是一个 Golang 微服务 RPC 框架,具有高性能强可扩展的特点,在字节内部已广泛使用。如今越来越多的微服务选择使用 Golang,如果对微服务性能有要求,又希望定制扩展融入自己的治理体系,Kitex 会是一个不错的选择。

此版本更新内容包括:

功能

泛化调用

  • IDL 解析支持多 Service
  • 暴露 SetSeqID 方法便于二进制泛化场景 server 侧使用
  • 泛化 client 支持关闭,规避内存泄漏问题

日志

  • 修改日志风格,使用 “key=value” 列出信息
  • 使用 klog 作为全局的日志输出工具
  • 使用全局的 default logger
  • 日志打印更多 context 信息,例如 logId,方便问题排查
  • go func 传入服务信息用于 recover panic 后输出关键信息方便问题排查

Option

  • 增加 NewThriftCodecDisableFastMode 方法,来关闭 FastWrite 和 FastRead
  • Kitex server 支持端口复用
  • 默认 RPC 超时设置为 0(在后续 PR 中,revert 了该变更)

Proxy

  • Proxy 增加 ContextHandler 接口用于传递初始化ctx给 mwbuilder
  • 注册 lbcache 的 Dump 给 diagnosis,用于问题诊断
  • 将 PRCConfig 传递给 proxy.Config

优化

  • 减少了对象的堆分配
  • 优化多路复用性能
  • 优化 grpc 编解码性能,通过 Release 时释放(Close) LinkBuffer
  • 在计算 backup request 的消耗(cost)时,区分 ErrRPCFinish
  • 多路复用分片队列逻辑移动至 netpoll/mux,并重命名分片字典
  • 优化Fast api中容器类型的长度编码逻辑

Bug 修复

  • 修复 server 端 WithErrorHandler 配置不生效问题
  • 调整 lbcache 中的 Balancer 初始化逻辑
  • 修复 TraceCtl 可能为 nil 的问题(仅影响单测)
  • 设置默认的 rpc timeout, 并支持设置 WithRPCTimeout(0) 来关闭超时中间件
  • 修复 default logger 使用错误的 call depth
  • 重命名 BackwardProxy 为 ReverseProxy
  • 修复 grpc 场景下的 panic
  • 修复 grpc 场景下的潜在风险(keepalive 超时导致 panic)
  • 修复 void 方法中的异常缺失
  • 修复实例变更时 dump 信息不正确问题。

文档

  • 修复失效的中文链接
  • 将全部 doc 移至官网 cloudwego.io

Netpoll API Change:

  • 适应 netpoll.Writer.Append 的 API 改动,返回值从 2个 变为 1个

依赖变化

  • github.com/cloudwego/netpoll: v0.0.4 -> v0.1.2

详情查看:https://www.cloudwego.io/zh/blog/2021/12/13/kitex-v0.1.0-%E7%89%88%E6%9C%AC%E5%8F%91%E5%B8%83


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

分布式算法导论

分布式算法导论

泰尔 / 霍红卫 / 机械工业出版社 / 2004年09月 / 39.0

分布式算法20多年来一直是倍受关注的主流方向。本书第二版不仅给出了算法的最新进展,还深入探讨了与之相关的理论知识。这本教材适合本科高年级和研究生使用,同时,本书所覆盖的广度和深度也十分适合从事实际工作的工程师和研究人员参考。书中重点讨论了点对点消息传递模型上的算法,也包括计算机通信网络的实现算法。其他重点讨论的内容包括分布式应用的控制算法(如波算法、广播算法、选举算法、终止检测算法、匿名网络的随机......一起来看看 《分布式算法导论》 这本书的介绍吧!

html转js在线工具
html转js在线工具

html转js在线工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具