Posts in 2021
-
Release v0.1.2
Wednesday, December 22, 2021 in Kitex
项目:
Hotfix 修复 v0.1.0 gRPC 请求优化引入的部分问题 修复 IDL 中未定义 package 时,gRPC 的方法信息错误问题 依赖更新 更新 netpoll-http2 依赖,解决 streaming 场景下大包(>4K)请求报错的问题 杂项 使用 GitHub 的 PR 模板,强制开发者提交 PR 时填写相关描述
-
Release v0.1.0
Monday, December 13, 2021 in Kitex
项目:
功能 泛化调用 IDL 解析支持多 Service 暴露 SetSeqID 方法便于二进制泛化场景 server 侧使用 泛化 client 支持关闭,规避内存泄漏问题 日志 修改日志风格,使用 “key=value” 列出信息 使用 klog 作为全局的日志输出工具 使用全局的 default logger 日志打印更多 context 信息,例如 logId,方便问题排查 go func 传入服务信息用于 recover panic …
-
Release v0.1.1
Thursday, December 09, 2021 in Netpoll
项目:
优化: 优化了多路复用下,分片队列的性能 Bug 修复: 修复了 book 方法在多路复用下的 bug 文档 修正了一些大小写和语法问题,并更新了链接
-
Release v0.1.0
Wednesday, December 01, 2021 in Netpoll
项目:
功能: 增加了分片队列,用于支持连接多路复用 优化方案:尽可能的维护单节点 LinkBuffer 来减少 copy 优化方案:修复了 waitReadSize 的 bug,并优化了 input trigger 效率 优化方案:减少了 waitRead 和 inputAck 冲突时产生的超时错误 逻辑简化:简化了连接状态机 Bug 修复: 修复了 eventLoop 提前 GC 的 bug 文档 更新 README,将 Performance …
-
RPC 框架 Kitex 实践入门:性能测试指南
Wednesday, November 24, 2021 in 新闻
项目:
日前,字节跳动服务框架团队正式开源 CloudWeGo ,在抖音、今日头条均有深度应用的 Golang 微服务 RPC 框架 Kitex 也包含在其中。 本文旨在分享开发者在压测 Kitex 时需要了解的场景和技术问题。这些建议有助于用户更好地结合真实 RPC 场景对 Kitex 进行调优,使之更贴合业务需要、发挥最佳性能。用户也可以参考官方提供的压测项目 kitex-benchmark 了解更多细节。 微服务场景的特点 Kitex 诞生于字节跳动大规模微服务架构实践,面向的场景自然是微服务场 …
-
Release v0.0.8
Friday, November 05, 2021 in Kitex
项目:
优化 使用分片 ring 减少连接池的锁开销。 装填 TTHeader 中的上游服务信息到 rpcinfo 中,用于在 decode 出错时输出来源信息。 Unlink uds 调整至 CreateListener 中。 event.go 和 ring_single.go 中的 Mutex 改为 RWMutex。 Bug 修复 修复 netpollmux shard index 溢出的问题。 移除 WithCircuitBreaker option 里对参数的反射, …
-
Release v0.0.5
Sunday, September 26, 2021 in Kitex
项目:
功能: 增加默认的 ErrorHandler 封装 Error(用户指定会被覆盖)。 metainfo 支持反向传递。 支持了 JSON 泛化调用,使用指南可参考:Kitex 泛化调用使用指南。 优化: 多路复用场景下使用了新的 netpoll API 来改善吞吐和延迟。 多路复用场景下支持 metainfo 的正向和反向传递。 Client 会在需要的时候默认使用 RPCTimeout 中间件。 连接池配置增加全局空闲连接和单实例空闲连接合法性校验。 当更新 QPS 最大限制时会重置计数 …
-
字节跳动 Go RPC 框架 Kitex 性能优化实践
Thursday, September 23, 2021 in 新闻
项目:
前言 Kitex 是字节跳动框架组研发的下一代高性能、强可扩展性的 Go RPC 框架。除具备丰富的服务治理特性外,相比其他框架还有以下特点: 集成了自研的网络库 Netpoll;支持多消息协议(Thrift、Protobuf)和多交互方式(Ping-Pong、Oneway、 Streaming);提供了更加灵活可扩展的代码生成器。 目前公司内主要业务线都已经大范围使用 Kitex,据统计当前接入服务数量多达 8k。Kitex 推出后,我们一直在不断地优化性能,本文将分享我们在 Netpoll …
-
Release v0.0.4
Thursday, September 16, 2021 in Netpoll
项目:
优化: 默认支持 TCP_NODELAY 支持在一个循环中读写 返回 nocopy rw 的真实错误 更改了循环策略的默认数量 重新定义了 EventLoop.Serve arg: Listener -> net.Listener 在 DisableGopool 中增加了 API 删除了读锁 连接 Flush API 调整为阻塞的 Bug 修复: 设置剩余待读取大小。