在桌面运行云环境
1. 目标与技术选择
在规划代码示例并选择部署代码所需的运行时技术时,有两个主要目标。一是确保代码示例易于理解和设置,因为微服务应用包含多个组件,若不提前规划,读者可能难以轻松搭建这些组件。二是让每个部分都能独立运行,即选择任意部分时,都能拥有完整的运行时环境,无需依赖其他部分。
为实现这些目标,采用了以下技术和模式:
1. Apache Maven :作为构建工具,每个服务都采用Maven项目结构,且结构在各部分保持一致。
2. Docker :将服务编译为Docker容器镜像。Docker是出色的运行时虚拟化引擎,可在Windows、OS X和Linux上运行。使用它能在桌面构建包含应用服务及支持服务所需基础设施的完整运行时环境,且易于在多个云提供商之间移植。借助Spotify的Docker Maven插件将Docker容器构建与Maven构建过程集成。
3. Docker Compose :用于将编译为Docker镜像的服务作为一个组启动。为保持示例简单和可移植性,未使用Kubernetes或Mesos等更复杂的Docker编排工具。所有Docker镜像的配置都通过简单的shell脚本完成。
2. 所需软件
要构建相关软件,需在桌面安装以下软件,这里给出的是相关版本,虽软件可能支持其他版本,但代码是基于这些版本构建的:
| 软件名称 | 版本 | 说明 |
| ---- | ---- | ---- |
| Apache Maven | 3.3.9 | 在Java