Posts in 2024
-
Release v0.11.0
Thursday, September 12, 2024 in Kitex
项目:
建议直接升级 Kitex 版本到 v0.11.3, 因为我们对 v0.11.0 里的一些性能问题进行了优化 重要变更介绍 新特性 重试:新增混合重试功能:支持同时开启「失败重试」+「Backup Request」两种策略,能够在降低长尾请求的同时提高请求的重试成功率,详见 请求重试 自定义 Payload 校验:为避免硬件故障或数据篡改导致收发的数据不一致,Kitex 提供了对 Payload 报文的校验功能,并支持自定义扩展,使用方式参见: payload …
-
Release v0.10.0
Wednesday, June 12, 2024 in Kitex
项目:
重要变更介绍 性能优化 新版本探索了更多性能优化的方向和非常规的一些优化手段。 长连接池: 100 并发 qps 提升 4%, p99 降低 18% 多路复用: 100 并发 qps 提升 7%, p99 降低 24% gRPC: 100 并发 qps优化 8%,p99优化 10% 代码产物精简优化 移除非序列化代码(默认):原 kitex_gen Thrift 产物代码为保持与 Apache 的一致性,会生成 Processor 代码,但 Kitex 并不需要这些代码。为解决大家的产物痛 …
-
Release v0.9.0
Monday, March 04, 2024 in Kitex
项目:
v0.9.0 针对 Thrift 提供了两个重要的功能:Thrift Streaming 和 Multi-Service,发布多个 RC 版本在内部试点收集反馈,所以正式版本姗姗来迟。 下面就重要变更做一些介绍: 重要变更介绍 功能 1. Thrift Streaming 基于 gRPC(HTTP2) 的 Thrift Streaming 功能正式 Release,用户可以使用 Thrift IDL 定义自己的 Streaming 请求,为保持 IDL 解析的兼容性,Kitex …
Posts in 2023
-
Release v0.8.0
Thursday, November 30, 2023 in Kitex
项目:
重要变更介绍 功能 1. gRPC 协议支持多 Service Kitex gRPC 支持多 Service 的能力,详见 Multiple Services. 2. Acquire Kitex RPCInfo 提供 kitexutil 方法以方便从 RPCInfo 获取 rpc 信息, 详见 Acquire RPC information. 优化 1. Map 泛化调用 Map 泛化支持通过 SetBinaryWithByteSlice 设置对 binary 字段返回 []byte。 2. …
-
Release v0.7.2
Wednesday, September 27, 2023 in Kitex
项目:
重要变更介绍 功能 1. 重试: 限制重试请求占比 该特性优化了备用请求的可用性:如某个请求超过重试等待时间,会触发一个备用请求,但如果该请求在RPC超时阈值之内,最终可以正常处理,因而不会被当做失败请求,这会在偶发网络异常时导致大量重试请求,增加服务端压力甚至引起雪崩。 建议更新现有代码: 使用 retry.NewRetryContainerWithPercentageLimit() 来构造 RetryContainer,限制重试请求占比; 在 Client …
-
Release v0.7.0
Monday, August 14, 2023 in Kitex
项目:
重要变更介绍 功能 1. gRPC 压缩支持 实现了 KiteX gRPC 的压缩功能支持,可以使用例如 gzip 等压缩方法减小 payload 体积 2. GLS 使用 local-session 组件兜底请求上下文传递,解决用户没有传递 ctx 导致的微服务断链问题 优化 1. Unknown Fields 无序列化优化 实现无序列化的 unknown field 功能,无序列化unknown fields方案在FastCodec上性能提升约6x ~ 7x,详见:#1017 2. …
-
Release v0.6.1
Monday, June 19, 2023 in Kitex
项目:
详细变更 Hotfix: [#988] hotfix(code_gen): 修复slim模板代码生成失败问题
-
Release v0.6.0
Wednesday, June 14, 2023 in Kitex
项目:
重要变更介绍 功能 1. GRPC 元信息传递 client 默认将 header 设置到 ctx,外部方法可利用 GetHeaderMetadataFromCtx 获取元信息。可用于 transmeta 内获取元信息并设置到 rpcinfo 中,或在中间件内获取 header 信息。 2. Kitex 配置模块重构 增加重试、熔断、超时、限流的 config item,支持 configmanager 中间件定义的接口,用于支持与外部配置中心的扩展集成。 3. Kitex - …
-
Release v0.5.3
Friday, April 21, 2023 in Kitex
项目:
重要变更介绍 功能 异常重试:添加配置,支持不对超时错误进行重试,用于请求非幂等的场景。 代码生成工具:支持 windows 环境使用。 超时错误类型拆分:支持细粒度的超时错误类型,将 ErrRPCTimeout 细分为三个错误类型:超时、业务cancel、业务timeout。 Thrift FastCodec:支持 unknown fields。 unknown fields 使用背景:在 thrift 中,IDL 内增加字段对未更新 IDL 的一方是无感知的, …
-
Release v0.5.0
Wednesday, March 08, 2023 in Kitex
项目:
重要变更介绍 功能 1. Fallback 功能: 支持 Client 侧的 Fallback 功能 业务在 RPC 请求失败后通常会有一些降级措施保证有效返回(比如在请求超时、熔断后,构造默认返回),Kitex 的 Fallback 支持对所有异常请求进行处理。 同时,因为业务异常通常会通过 BaseResp 字段返回,所以也支持对 Resp 进行处理。详见 Fallback。 2. Kitex - gRPC:Client 增加 TLS …