在桌面运行云环境
1. 目标与技术概述
在规划代码示例和选择部署所需的运行时技术时,有两个主要目标。一是确保代码示例易于理解和设置,因为微服务应用有多个组件,提前规划才能让读者轻松部署。二是让每个部分都能独立运行,读者可以选择任意部分,拥有完整的运行时环境,无需依赖其他部分。
为实现这些目标,采用了以下技术和模式:
1. Apache Maven :作为构建工具,每个服务都采用Maven项目结构,且各部分结构一致。
2. Docker :将开发的服务编译为Docker容器镜像。Docker是出色的运行时虚拟化引擎,可在多种操作系统上运行,能在桌面构建完整运行时环境,且易于在多个云提供商间移植。使用Spotify的Docker Maven插件将Docker容器构建与Maven构建过程集成。
3. Docker Compose :在服务编译为Docker镜像后,使用Docker Compose将服务作为组启动,避免使用复杂的Docker编排工具,使示例简单且可移植。所有Docker镜像的配置通过简单的shell脚本完成。
2. 所需软件
要构建相关软件,需要在桌面安装以下软件:
| 软件名称 | 版本 | 说明 |
| ---- | ---- | ---- |
| Apache Maven | 3.3.9 | 在Java生态系统中仍占主导地位,代码示例使用Java 1.8编译 |
| Docker | V1.12 | 代码示例基于此版本构建,早期版本也可能适用,但可能需切换doc