微服务开发生命周期全解析
1. 前期准备
在开展微服务开发之前,有几个关键方面需要考虑。团队间的沟通固然重要,但理想情况下,应局限于微服务之间的接口。团队间的集成最好通过以测试脚本形式呈现的消费者驱动契约来处理,而非依赖长篇的接口文档描述各种场景。当服务不可用时,团队应使用模拟服务实现。
构建自助式云环境是微服务开发的重要前提。当服务数量较少时,可通过手动将其分配到指定的虚拟机集来管理。但微服务开发者需要的不仅仅是 IaaS 云平台,开发人员和运维工程师都不应担心应用的部署位置、部署优化以及容量管理等问题。这就需要一个具备自助服务能力的云平台,如使用 Mesos 和 Marathon 集群管理解决方案。同时,容器化部署在管理和端到端自动化中也非常重要。
微服务还需要一系列其他能力,如服务注册、发现、API 网关和外部化配置服务等,这些能力可由 Spring Cloud 项目提供。此外,集中式日志记录、监控等也是微服务开发的先决条件。
2. DevOps 相关术语
DevOps 是最适合微服务开发的实践。在深入了解 DevOps 流程之前,先明确一些常见术语:
- 持续集成(CI) :在指定环境中持续自动构建应用并进行质量检查,可按时间触发或在开发者提交代码时触发。它还会将代码指标发布到中央仪表板,并将二进制工件发布到中央存储库,在敏捷开发实践中很受欢迎。
- 持续交付(CD) :自动化从创意到生产的端到端软件交付实践,在非 DevOps 模型中也称为应用程序生命周期管理(ALM)。通常认为它是 CI 的进一步发展,在集成管道中增加了 QA 周
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



