|
Spring Boot是Java开发时常用框架,有非常丰富的组件和易用的功能。为了满足实际需求,应用于生产的Web项目功能和架构都日趋复杂:多层架构,数据中台,动静分离,集群化部署,自动化运维,等等。
1, 全技术栈
不同于一个Demo演示,用于商业、有价值的一个Web服务是功能全面的,有服务保障和监控机制。特别强调一下缓存系统,如果都是直接读写数据库而没有加入缓存机制,那么一旦用户量多起来,这个系统崩掉几乎是一定的。
1) 数据库
2) 缓存系统
3) 消息队列
4) 文件服务
5) 鉴权认证
6) 异步任务调度
7) 日志系统
8) 服务监控
9) 。。。
2, 系统架构
示意图如下:
3, 自动构建
开发完成、测试通过后,提交代码将触发自动构建系统。
阿里云容器镜像服务提供Docker镜像仓库托管,配置项目代码Git仓库和构建规则,结合Dockerfile实现云端编译打包,不再需要常用的Jenkins构建服务器。
4, 一键部署
Docker是一个开源的应用容器引擎,将应用以及依赖打包到一个可移植的镜像中,部署到服务器并运行在Container容器实例中。
资源编排Docker-compose定义和运行多个容器组成的应用系统,通过docker-compose.yml文件声明各个服务,作为一个整体来完成应用的创建和启动。
我们使用Docker快捷高效部署应用,先看操作步骤和用时: 操作 | 脚本 | 用时 | 资源编排,配置镜像 | docker-compose.yml | - | 安装Docker,Ubuntu服务器可用脚本 | docker.sh | - | 拉取镜像,有更新时下载 | pull.sh | - | 启动服务容器 | up.sh | 10s | 查看运行日志 | logs.sh | - | 停止服务 | down.sh | 15s |
以完整部署Web服务脚手架为例,代码脚本文件:
https://github.com/jextop/StarterDeploy
├── docker.sh # Ubuntu环境下自动安装Docker
├── docker-compose.yml # 资源编排文件,配置各个服务
├── pull.sh # 拉取需要的Docker镜像
├── up.sh # 一键启动依赖的运行环境
├── logs.sh # 查看容器运行日志
├── down.sh # 停止运行环境
1) 安装Docker
Ubuntu服务器可以运行脚本docker.sh自动安装
https://docs.docker.com/install/linux/docker-ce/ubuntu/
https://docs.docker.com/docker-for-windows/install/
2) pull.sh拉取镜像
批量拉取需要的镜像,完成后docker images查看:
3) up.sh启动容器
脚本中封装了docker-compose up -d命令,启动后docker ps查看容器实例:
4) logs.sh查看日志
定制命令突出显示重要信息: docker-compose logs -ft | grep --color -i -e error -e warn -e version -e exception
5) 打开管理后台,查看服务
6) down.sh停止服务
运行docker-compose down --remove-orphans 停止并删除容器:
----------------------------
原文链接:https://blog.51cto.com/13851865/2476493
程序猿的技术大观园:www.javathinker.net
[这个贴子最后由 flybird 在 2020-03-12 13:45:57 重新编辑]
|
网站系统异常
系统异常信息 |
Request URL:
http://www.javathinker.net/WEB-INF/lybbs/jsp/topic.jsp?pages=1&postID=2721&saveSkin=true&skin=0
java.lang.NullPointerException
如果你不知道错误发生的原因,请把上面完整的信息提交给本站管理人员。
|
|