
240
|
第
10
章
通过管道进行部署和发布
发布功能
上一节介绍了代码部署的几种机制和策略。但是,正如我们之前所说,这只是持续交付
的一个方面。你现在能够不断地将新的变更部署到生产环境,但并不意味着应该将这些
变更暴露给用户。用户更喜欢稳定、可预知的体验,他们只能容忍有限的变化。另一方面,
某些变更只有与其他变更配合起来才有意义,但是你不会想一次部署所有的变更,因为
这样的风险太大。你需要另一种部署机制,可以控制向用户公开哪些功能。
另一方面,你要记得不只是向用户提供功能。在微服务领域,服务之间多以
RESTful
API
的形式调用,有时为了启用新的功能,你可能需要改动这些
API
,但是在这种情况
下你需要深思熟虑,因为修改
API
可能会影响到一些客户端应用程序,反过来又会对后
端服务产生级联影响。
因此,你必须有一套独立于服务部署以外的手段,可以控制变更对其他服务的影响,这
样你就可以与负责服务的团队或者企业进行沟通,做出恰当的安排。这就是我们将在本
节中介绍的内容。
服务网格 :发布功能的未来?
自
2016
年年底以来,人们开始越来越关注服务网格,这是一个专用的基础设施层,
用来让服务与服务之间的通信变得可靠、安全以及快速。这个领域出现了很多开
源项目和商业产品,例如
Linkerd
、
Envoy/Istio
、
Cilium
和
Consul Connect
。在
我们编写本书时,人们仍然围绕服务网格在进行很多尝试,因此我们不会在此提
供相关的指导。但是,我们建议你了解这个有趣的领域,特别是如果你正在使用
容器来运行应用程序。这个领域的思想领袖也对 ...