在 HN 上看到「Executing Cron Scripts Reliably at Scale (slack.engineering)」,發現是去年九月的文章:「Executing Cron Scripts Reliably At Scale」(話說 Slack 的 engineering blog 可讀性變差好多,不過這又是另外一回事了...)。
夠大的組織的 cron job system 都會自己幹一套出來用,因為檯面上的都不好用 XD
Slack 的搞法是組合三個內部系統:
- 一個 container-based 管理實際執行資源的系統,基於 Bedrock,而 Bedrock 則是基於 k8s 上的系統。
- 一個 job queue 子系統,後面是 Kafka + Redis 組成的。
- 一組在 Vitess 上的表格,所以後面是 MySQL。
這樣的系統也注定這是 Slack-only 的系統了,看一下知道用什麼就好了...