Skip to content

ApolloOpenApiClient 支持重试机制 #104

@zth9

Description

@zth9

你的特性请求和某个问题有关吗?请描述

当网络抖动、Apollo-portal gccpu load 较高时,调用 ApolloOpenApiClient 的 api 将出现如下常见异常:

Image

SocketTimeoutException 本身出现的频率并不高,但往往能通过重试机制有效解决。

也就是说在这种异常场景下,Apollo-client 的重试是十分有意义的。

清晰简洁地描述一下你希望的解决方案

about pr:#105

Apollo client 使用 Apache httpclientApollo-portal 交互,Apache httpclient 已经提供了优雅的重试机制

Apollo client 在初始化 ApolloOpenApiClient 时可以支持这个特性(可以透出一些参数供初始化使用,让用户可以选择是否进行重试,或者让 ApolloOpenApiClient 变得默认支持重试机制?)

清晰简洁地描述一下这个特性的备选方案

暂无

其它背景

1.业务在调用任何第三方 api 时,都应该考虑失败重试的场景(保证最终一致)
2.除此之外,任何提供给其他应用接入的涉及 rpc 相关的能力,都应该提供一定的重试机制(一定程度提升可靠性)

@nobodyiam 😊

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions