StreamX 流错误处理最佳实践
前言
与 PingPong RPC 不同,流的错误可以发生在一个流处理的任何时候,例如 server 可以在发送多条消息后,再返回一个错误。但是一旦一个流发送完错误后,就不能再发送任何消息。
错误类型
业务异常
使用范例:例如 ChatGPT 场景,我们需要不停检查用户账户余额是否能继续调用大模型生成返回。
Server 实现:
Client 实现:
其他错误
如果 Server 返回的 Error 为非业务异常,框架会统一封装为 (*thrift.ApplicationException)
。此时只能拿到错误的 Message 。
Server 实现:
Client 实现:
最后修改
January 14, 2025
: Update release-v0_12_0.md (#1205) (bd11c02)