# 《API网关》第19章:网关引擎打包镜像部署

作者:小傅哥
博客:https://bugstack.cn (opens new window)

沉淀、分享、成长,让自己和他人都能有所收获!😄

# 一、学习指引

SpringBoot工程是打包War包还是Jar包?

可能大部分伙伴经常看到工程中有的是配置 <packaging>war</packaging> 有的是配置 <packaging>jar</packaging> 这是咋回事呢,自己要配置啥呢?

其实早在以前,大家对于 Spring 的 Web 工程,为了把一些资源类的文件包括 WEB 等都进行打包,通常是默认配置 war 包,并把打包后的文件放到 Tomcat 中进行部署。部署时会进行自动解压缩。而随着后来前后端分离以及容器化的兴起,通常会把 SpringBoot 打包成 Jar 包,也就是打包成单一可执行的程序【镜像】,放到 Docker 中启动。

那么本章我们也会把网关引擎工程 api-gateway-engine 打包成 Jar 放到 Docker 中启动。如果你还没有使用过Docker,那么可以学习下小傅哥之前的文章;《部署Docker》 (opens new window) —— 包括:在云服务器上部署 Docker,并安装 Portainer 运维面板以及汉化。汉化包已放到 Lotter/doc/asserts/Portainer-CN

# 二、引擎工程

api-gateway-engine 是一个用于启动网关算力服务的引擎工程,它的代码内容几乎没有多少,主要负责的是工程的启动操作。因为镜像的打包也是从这个工程中处理。

  • api-gateway-core 核心通信模块,处理网关的对接口的协议转换和映射操作以及泛化调用对应的 RPC 接口。
  • api-gateway-assist 将 api-gateway-core 包装,提供简化的使用方式。
  • 那么现在 api-gateway-engin 则是一个打包的执行引擎工程,打包后提供可部署到容器的 Jar 包。