我有一个Dropwizard应用程序,它在内存中保存短暂的会话(电话)。这有很好的理由,我们不会在短期内改变这种模式。
我们很快就会成立Kubernetes,我想知道处理停机/滚动更新的最佳方法是什么。该过程需要如下所示:
如果我做了第2步" preStop hook"看起来kubernetes可以处理这个问题。 http://kubernetes.io/docs/user-guide/pods/#termination-of-pods
我的问题是,preStop钩子实际上会是什么样子?我应该设置DW"任务" (http://www.dropwizard.io/0.9.2/docs/manual/core.html#tasks)等待所有会话完成并从kubernetes CURL它?我应该放一个bash脚本来轮询一些sessionCount服务,直到没有任何一个在DW应用程序的docker容器中,并执行它?
答案 0 :(得分:1)
假设您不使用preStop挂钩,并且已发出pod删除请求。
或者,您可以使用preStop挂钩阻塞,直到所有请求都耗尽。最有可能的是,你需要一个脚本来完成这个任务。