...
这个问题看似告一段落。虽然replace
的语句丑陋,但能快速解决问题,使得项目进度能够继续开展。虽然我们也有更完美的解决方案,即内部相关项目都升级kubernetes api
的版本,但这种方案成本较大,难以快速解决问题。因此我们在项目的开发中往往会采用性价比更高的折中方案。我们在解决问题的时候,往往需要从更高层次去分析问题,特别是成本衡量、投入产出比的因素,不能太关注于问题本身。尽量不要影响业务,不要影响进度。的版本,但这种方案成本较大,难以快速解决问题。因此我们在项目的开发中往往会采用性价比高的折中方案。我们在解决问题的时候,往往需要从更高层次去分析问题,特别是成本衡量、投入产出比的因素,不能太关注于问题本身。
引入ArgoCD服务依赖
随着项目的发展,我们又需要一个CD
服务,所以我们引入了ArgoCD
服务,当然这个时候我们又要引入ArgoCD
的SDK
,于是又开始遇到第三方组件各种版本兼容问题。我们的同学经过几天的摸索,搞出来以下组件依赖和replace
版本替换:
...
在Golang
开发中,这种版本冲突问题几乎很难避免,项目对三方组件依赖的越多,这种风险就越大。
此次分享的主要目的:
- 解决问题的思路:分析问题,提出方案,选择方案
- 解决问题的目的:更高层次思考问题、不局限问题本身
Golang
开发中,常见的类似的问题如何处理的参考- 对于组件开发,特别是
GoFrame
框架开发而言,站在使用者角度考虑,应当尽量减少第三方组件依赖 https://goframe.org/