0

我们正在运行 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像这样,我们可以在不停机的情况下对所有组件进行滚动更新。

据我所知,使用证书而不是共享密钥具有相同的限制。

谢谢克里斯

4

1 回答 1

0

我也看不到任何选项可以根据当前实现循环共享密钥而不会导致任何停机。如您正确指出的那样,要使其正常工作,Hono 的组件将需要支持配置多个共享机密以验证令牌。也许您想为此向 Hono 提出问题?

于 2021-05-27T09:56:46.323 回答