1背景
本次项目将在某鞋业购买的阿里云清单上面的ECS服务器上面部署tomcat的系统应用环境,并采用阿里云上的RDS、OSS、SLB等技术来实现高可用的系统架构。2上云后的系统架构
2.1架构描述:
1. 使用阿里云的VPC服务,在VPC内部建立建议1个VPC和2个虚拟交换机,分别提供给业务系统和SLB使用; 2. 前端使用专有网络的SLB负载均衡(SLB提供的转发策略),将外部访问分发到VPC内的有内网应用的tomcat服务器上; 3. 相同的业务模块采用不同的ECS避免服务器单点故障,也为将来大流量访问的横向扩展在架构上打下基础; 4. 数据库采用高可用高安全的RDS云数据库,选择MySQL5.6数据库; 5. 采用消息队列MQ实现内部消息通讯; 6. 采用API网关、CDN和log service技术实现应用网关安全和网站加速。 ## 2.2系统架构图:
3.2 创建专有网络SLB负载均衡:
前端使用专有网络的SLB负载均衡,将某鞋业业务系统的外部访问分发到VPC内的对应的tomcat系统上,详细SLB请见资源清单列表。3.3 创建专有网络RDS数据库:
使用阿里云的RDS服务,在VPC内部建立5个生产系统数据库,为某鞋业业务系统提供数据库服务,详细RDS数据库列表可参见资源清单列表。3.4 tomcat实施部署:
(1) tomcat部署路径: Tomcat部署在/data/tomcat下,详细路径如下:3.5 创建API网关、CDN和log service:
将在验证和测试后正式部署生产环境。3.6 搭建gitlab服务
在测试环境搭建gitlab 服务器,为天创全渠道项目涉及到的各个应用模块,提供分布式源代码版本控制服务。3.6.1 gitlab实施部署
3.6.1.1 gitlab安装介质
见https://about.gitlab.com/downloads/#centos7
3.6.1.2 gitlab部署情况
测试环境的ECS:xx.xx.xx.xx。
部署路径:/opt/gitlab
详细路径如下:
其中bin目录为执行目录,包括gitlab的可执行脚本如gitlab-ctl、gitlab-psql等
embedded目录为gitlab内嵌的web服务器、postgresql数据库等后台服务
service、sv、init是gitlab相关后台服务目录
etc是配置文件目录
var是临时文件目录
gitlab配置文件,见:/etc/gitlab/gitlab.rb。配置文件说明,可参考:
https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md
3.6.1.3 gitlab常用命令
1.访问内嵌的postgresql数据库
gitlab-psql -d gitlabhq_production
2.查看gitlab后台服务运行情况
gitlab-ctl status
3.启动gitlab后台服务
gitlab-ctl start
4.停止gitlab后台服务
gitlab-ctl stop
5.重启gitlab后台服务
gitlab-ctl restart
6.修改配置文件后,重新配置gitlab后台服务
gitlab-ctl reconfigure
4.6.1.4 gitlab访问地址
如上图,目前gitlab服务,已服务1个项目组、24个用户、26个项目。
3.7 搭建jenkins服务
在测试环境搭建jenkins 服务器,为天创全渠道项目涉及到的各个应用模块,提供持续构建、打包、部署到测试环境的服务。 在生产环境搭建jenkins 服务器,为天创全渠道项目涉及到的各个应用模块,提供部署到生产环境的服务。3.7.1 测试环境jenkins实施部署
3.7.1.1 jenkins安装介质
见http://pkg.jenkins-ci.org/redhat-stable/
3.7.1.2 jenkins部署情况
测试环境的ECS:xx.xx.xx.xx。
部署路径: /data/jenkins
jenkins主目录:/data/jenkins/.jenkins
jenkins配置文件:/etc/sysconfig/jenkins
maven安装目录:/data/jenkins/apache-maven-3.3.9
m2 主目录:/data/jenkins/.m2
3.7.1.3 jenkins常用命令
1.查看jenkins服务状态
service jenkins status
2.启动jenkins服务
service jenkins start
3.停止jenkins 服务
service jenkins stop
4.重启jenkins服务
service jenkins restart
3.7.1.4 jenkins访问地址
如上图,共实施了26个项目的build构建作业,其中member-admin_build因应用未开发完,暂时不需上线、持续集成。
共实施了21个应用模块的deploy2test部署到测试环境的作业。
3.7.2 生产环境jenkins实施部署
3.7.2.1 jenkins安装介质
见http://pkg.jenkins-ci.org/redhat-stable/
3.7.2.2 jenkins部署情况
测试环境的ECS:xx.xx.xx.xx。
部署路径: /data/jenkins
jenkins主目录:/data/jenkins/.jenkins
jenkins配置文件:/etc/sysconfig/jenkins
3.7.2.3 jenkins常用命令
1.查看jenkins服务状态
service jenkins status
2.启动jenkins服务
service jenkins start
3.停止jenkins 服务
service jenkins stop
4.重启jenkins服务
service jenkins restart
3.7.2.4 jenkins访问地址
如上图,共实施了23个pull作业,从测试环境中的jenkins拉取用于生产部署的应用包。
如上图,共实施了22个deploy2prod部署到生产环境的作业,其中member-admin_deploy2prod应用模块未开发完成,不需部署上线。
如上图,共实施了16个monitor站点监控作业,用于监控内网应用的http服务的可用性。