SpringCloud 微服务项目能否实现ota升级??

需要覆盖docker部署和k8s部署两种方式,以及内网和公网两种环境,还要能回滚以及灰度发布······(sb老板提的需求)

老实讲这种需求能否实现?感觉很难搞啊,要考虑的东西太多了,o(╥﹏╥)o

阅读 269
1 个回答

老哥,这需求确实有点离谱,但还真不是完全不可能实现。

说白了,老板想要的就是一套能在各种环境下平滑升级、随时可以撤回、还能慢慢放量的系统。技术上是能搞,但确实挺折腾人的。

Docker和K8s环境其实都自带这些能力,问题是把这一大堆东西整合到一起,还要考虑内外网的差别。最麻烦的是微服务项目本身就复杂,服务之间互相依赖,一个升级不好可能影响一大片。

如果非要搞,我建议这么弄:

  1. 先搭个靠谱的CI/CD流水线,代码提交后自动构建、测试、打包
  2. 用K8s的滚动更新和回滚功能,这部分K8s原生就支持
  3. 灰度发布可以用Istio这类服务网格来做流量控制
  4. 内外网差异主要是网络和安全这块,可以用配置中心来管理不同环境的配置

说实话,这活儿得有专门的运维和架构团队才能搞定,一个人很难兼顾这么多方面。而且这种系统建起来容易,长期维护才是真考验。

老板这需求看着高大上,但得问问他投入这么多精力搞这套东西到底值不值得。如果系统规模不大,更新频率也不高,用这么复杂的方案可能有点杀鸡用牛刀了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题