我们正在运行 Eclipse Hono,并希望对集群中的所有组件执行零停机更新。
对于不同 Eclipse Hono 组件之间的身份验证,我们使用 Hono Auth Service。在那里,我们配置了一个共享密钥 ( HONO_AUTH_SVC_SIGNING_SHARED_SECRET
) 用于签署已发行的令牌。消费服务(例如命令路由器/Mongo DB 设备注册表)配置有相同的秘密。
在更改共享密钥时,我们同时需要重新启动上述微服务的所有实例,这会导致停机时间较短。如果我们执行滚动更新,旧实例将不会验证已使用新共享密钥运行的实例的已颁发令牌。
有没有人遇到同样的问题,或者知道如何执行零停机更新?
解决我们的问题的一个选项是可以在另一个HONO_AUTH_VALIDATION_SHARED_SECRET
秘密(HONO_AUTH_VALIDATION_SHARED_SECRET_FALLBACK
像这样,我们可以在不停机的情况下对所有组件进行滚动更新。
据我所知,使用证书而不是共享密钥具有相同的限制。
谢谢克里斯