apolloconfig / apollo

Apollo is a reliable configuration management system suitable for microservice configuration management scenarios.
https://www.apolloconfig.com
Apache License 2.0
29.18k stars 10.21k forks source link

客户端启动时拉取不到Apollo配置导致重启 #5208

Closed Arthur-X-Wang closed 1 month ago

Arthur-X-Wang commented 3 months ago

描述bug

在容器部署场景下,当微服务重启、扩容等操作时,Apollo集群不可达,业务容器拉取不到配置,本地也没有任何缓存配置。此时,业务容器会因缺少配置启动不起来。 假设正好某个情境下,业务容器大批量崩溃,Apollo也同时崩溃且一段时间不可恢复,原本业务容器可以通过扩容使服务恢复,此时也完成不了这个操作,异常影响较大。 对于此种方案,我们考虑过本地默认配置,但是由于Apollo配置更新多次后,本地默认配置过于老旧。比如开关类的,这样更加不可控。 对于此种异常情景,Apollo是否有高可用设计?

复现

通过如下步骤可以复现:

  1. 关闭Apollo配置中心,新启动客户端

期望

当配置中心连接不可达时,业务容器的启动不应该受到影响

截图

额外的细节和日志

nobodyiam commented 3 months ago

see #3506,另外开源之夏有一个项目是为Apollo的java、golang客户端缓存支持Kubernetes ConfigMap,导师是 @shoothzj

stale[bot] commented 2 months ago

This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in 7 days unless it is tagged "help wanted" or other activity occurs. Thank you for your contributions.

stale[bot] commented 1 month ago

This issue has been automatically closed because it has not had activity in the last 7 days. If this issue is still valid, please ping a maintainer and ask them to label it as "help wanted". Thank you for your contributions.