我有一个kafka集群在aws-msk上运行,kafka生产者和消费者go客户端在kubernetes上运行。制作人负责将数据流发送给Kafka。我需要帮助解决以下问题:
比方说,生产者代码中有一些代码更改,必须在kubernetes中重新部署它。我该怎么做?由于数据是连续生成的,我不能简单地停止已经运行的producer并部署更新的producer。在这种情况下,我将在更新进程之间丢失数据。
有时由于代码中的恐慌(golang),客户机崩溃,但是由于它作为pod运行,kubernetes重新启动它。我不知道这是好事还是坏事。
谢谢
1条答案
按热度按时间ljo96ir51#
对于第一个问题,我建议对集群中的部署进行滚动更新。其次,这是kubernetes中部署的一般行为。我可以考虑一个外部监控解决方案,它可以取消应用程序的部署,或者在出现问题时停止处理请求
panic
. 如果你能解释清楚为什么你需要这样的行为就更好了。!