一睹Web服务真面目,有商业价值的Web服务是这样的?
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停止并删除容器:
- php web服务的价值
- PHP Web服务的价值
- PHP Web服务的价值
- Web 2.0的商业价值
- 一个免费非盈利不涉及任何商业利益的Web服务接口
- 2016 中国企业服务峰会:如何让数据更具商业价值
- Google Trends(Google趋势)服务商业价值初探
- WEB服务(Web Servicrs)| 免费WEB服务 | 商业WEB服务
- PHP Web服务的价值
- PHP Web服务的价值
- 用一个WEB服务或普通站点 实现这样一个效果?以URL请求,返回一个XML文档
- Web服务的重要性及对商业智能的影响
- Become.com的 Web Crawler: 一个超大规模的Java应用程序(想开发自己的搜索引擎增值服务的必读)
- (五)Java EE 5实现Web服务(Web Services)及多种客户端实例-移动客户端
- 商业智能与web智能
- XMLHttpRequest 对象异步调用web服务
- 在web服务启动是就加载运行某个servlet --------load-on-startup
- ONJava.com -- Web 服务实现中的概念分离 --> page 2
- ASP.NET Web 服务还是 .NET Remoting:如何选择
- web集群服务的负载均衡方案选择与实现