... | ... | @@ -4,11 +4,11 @@ |
|
|
|
|
|
多个 pod 里有定时任务,怎么避免重复执行,才比较好?
|
|
|
|
|
|
# 解决方案
|
|
|
# DIY
|
|
|
|
|
|
假定,为了解决这个问题,多 pod 之间需要进行通信。
|
|
|
|
|
|
在上述假定下,按照是否有一个单点进行协调,就可以分出两类方法:一类有单点,一类没有单点。
|
|
|
在上述假定下,按照是否有一个单点协调通信,就可以分出两类方法:一类有这单点,一类没有单点。
|
|
|
|
|
|
如果有单点,那问题就变成,用什么单点,于是,容易得到答案:
|
|
|
1. redis
|
... | ... | @@ -21,3 +21,8 @@ |
|
|
如果没有单点,那么,解决问题所需要的通信,就落在 pod 身上,那就得考虑各种节点间的通信方式:
|
|
|
1. raft
|
|
|
……
|
|
|
|
|
|
# 人家是怎么解决的?
|
|
|
|
|
|
[Simple leader election with Kubernetes and Docker](https://kubernetes.io/blog/2016/01/simple-leader-election-with-kubernetes/)
|
|
|
|