Fly.io 是一个专注于将全栈应用和数据库部署到用户附近位置的平台。它通过将容器转换为运行在全球 30 多个地区的微型虚拟机(micro-VM),显著降低了延迟并提高了应用的响应速度。
本文将通过 https://github.com/litongjava/tio-boot-web-hello 演示如何将一个 Tio-Boot 项目部署到 Fly.io。
首先,我们需要使用 Maven 命令来打包应用程序:
这个命令将完成以下任务:
- 清理项目()。
- 打包项目()。
- 跳过测试()。
- 使用生产环境配置()。
命令会使用 来创建 Docker 镜像。以下是一个示例 :
这一步骤包括:
- 使用指定的基础镜像。
- 设置容器工作目录。
- 复制打包好的 文件到容器。
- 设置容器启动时的命令。
Fly.io 使用 文件来管理应用配置。以下是一个示例配置:
此配置文件包括:
- 定义应用名称和主要区域。
- 设置虚拟机的 CPU 和内存参数。
- 配置 HTTP 服务参数,包括自动启动与停止。
- 配置健康检查,确保服务正常运行。
使用以下命令创建应用并部署:
此步骤将完成以下任务:
- 构建镜像:Fly.io 使用 构建 Docker 镜像。
- 推送镜像:构建好的 Docker 镜像会被推送到 Fly.io 的镜像仓库。
- 启动应用:Fly.io 会在指定区域启动应用实例。
- 健康检查:Fly.io 根据配置的健康检查定期监控应用状态,确保服务正常运行。
是一个自动化部署工具,能够提高部署效率。以下是 的示例配置:
运行以下命令即可启动部署:
执行以下命令为应用分配私有 IPv6 地址,启用 Flycast 内网访问:
创建
扩容
挂载
在 Fly.io 上,一个存储卷(volume)通常只能同时附加到一个虚拟机实例上。如果的应用部署在多个主机上,需要分别为每个主机创建对应的卷或者使用其他支持多主机共享存储的方案(例如外部数据库或对象存储服务)。这也是为了防止数据竞争和损坏
- 公网访问:通过 访问应用,访问地址为 。
- 内网访问:通过 访问,地址为 。
Fly.io 会根据访问情况自动启动或停止应用,以节省资源。
以下是分两阶段构建并部署应用的 :
如需调整服务器配置,可以参考以下示例:
或
shared cpu1 耗时 3.67 s shared cpu2 耗时 2.60 s performance cpu1 耗时 3.02 s performance cpu2 耗时 2.60 s
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/233078.html