Kubernetes微服务实战
上QQ阅读APP看书,第一时间看更新

2.7 管理依赖

现代系统有很多依赖,如何有效地管理这些依赖是软件开发生命周期(Software Development Life Cycle,SDLC)的重要组成部分。通常系统存在两种依赖关系:

·库/软件包(链接到正在运行的服务进程)

·远程服务(可通过网络访问)

这些依赖关系都可以是内部的或第三方的。你可以通过软件包管理系统来管理这些库或软件包。Go语言在很长一段时间没有官方的软件包管理系统,因此社区出现了一些解决方案,例如Glide和Dep。从Go 1.12版起,Go模块成了官方的解决方案。

你可以通过端点发现和跟踪API版本来管理远程服务。内部依赖和第三方依赖之间的区别在于变化的速度,内部依赖关系的变化将会更快。使用微服务,就可能会与其他微服务产生依赖关系。版本管理和跟踪API契约将成为开发中非常重要的方面。