返回介绍

附录 A 在桌面运行云服务

发布于 2025-04-22 21:54:10 字数 964 浏览 0 评论 0 收藏

本附录主要内容

  • 列出运行本书中的代码所需的软件
  • 从 GitHub 上下载每章的源代码
  • 使用 Maven 编译和打包源代码
  • 构建和提供每章使用的 Docker 镜像
  • 使用 Docker Compose 启动由构建编译的 Docker 镜像

在编写本书中的代码示例和选择部署代码所需的运行时技术时,我有两个目标。第一个目标是确保代码示例易于使用并且易于设置。请记住,一个微服务应用程序有多个移动部件,如果没有一些深谋远虑的话,要建立这些部件来用最小的工作量顺畅运行微服务可能会很困难。

第二个目标是让每一章都是完全独立的,这样读者就可以选择书中的任何一章,并拥有一个完整的运行时环境,它封装了运行这一章中的代码示例所需的所有服务和软件,而不依赖于其他章。

为此,在本书的每一章中都会用到下列技术和模式。

(1)所有项目都使用 Apache Maven 作为这一章的构建工具。每个服务都是使用 Maven 项目结构构建的,每个服务的结构都是按章组织的。

(2)这一章中开发的所有服务都编译为 Docker 容器镜像。Docker 是一个非常出色的运行时虚拟化引擎,它能够运行在 Windows、OS X 和 Linux 上。使用 Docker,我可以在桌面上构建一个完整的运行时环境,包括应用程序服务和支持这些服务所需的所有基础设施。此外,Docker 不像其他专有的虚拟化技术,Docker 可轻松跨多个云供应商进行移植。

我使用 Spotify 的 Docker Maven 插件将 Docker 容器的构建与 Maven 构建过程集成在一起。

(3)为了在编译成 Docker 镜像之后启动这些服务,我使用 Docker Compose 以一个组来启动这些服务。我有意避免使用更复杂的 Docker 编排工具,如 Kubernetes 或 Mesos,以保持各章示例简单且可移植。

所有 Docker 镜像的提供都是通过简单的 shell 脚本完成的。

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。