- 14
- 0
- 约7.56千字
- 约 11页
- 2018-09-23 发布于河北
- 举报
微服务架构的部署.doc
微服务架构的部署
本文从以下几个方面简要说明微服务架构项目的实践经验:架构选型、开发测试环境下的相关工具支持、人员分工及开发部署流程、相关设计及注意事项。最后,将根据实践经验讨论提高微服架构下的开发和运维效率的切实需求,进一步理清本项目所实现的容器服务管理平台的完善性需求。
本项目是一个企业级的容器服务管理平台,该平台的功能是基于容器实现的应用运行环境管理,以及应用开发阶段的持续集成和持续发布。简单的理解该平台的核心功能之一就是管理复杂应用的开发和运维环境,提高微服务架构下的开发和运维效率。项目的开发背景如下:
首先,该系统具有典型分布式应用系统特征:
该平台所运行的服务器配置不高,例如华为RH1288这类低配置服务器,允许硬件失败;
系统平台要求可根据实际用户数的规模进行伸缩部署,保证硬件资源的合理利用;
由于系统平台之上需要运行若干企业应用的开发和运行环境,可靠性是非常重要的,不允许单点失效。
其次,本系统功能复杂,从架构的角度需要将系统分成多个层次和若干个子系统。不同的层次、子系统根据具体情况需要采用不同的开发语言,由不同的开发小组完成。
第三,项目组成员由几个城市的异地团队协同开发,统一的开发环境和协同工具是必不可少的。
针对上述项目背景的考虑,本项目选择基于微服务架构进行项目开发。
开发、测试、部署使用到的工具集
“工欲善其事、必先利其器”,借助适合的流程和相关工具集,才能提高微服务架构下的应用开发效率。本项目利用DevOPs流程并选用一套相关工具集实现应用开发管理,提高开发、测试、部署的效率。
代码库:本项目使用分布式代码库Gitlab,它的功能不限于代码仓库,还包括reviews(代码审查), issue tracking(问题跟踪)、wiki等功能,是代码管理和异地团队沟通、协作工具的首选。
Docker镜像仓库、Docker:本项目用容器贯穿整个软件开发流程,以容器作为应用发布的载体,应用的开发环境和测试发版环境都运行在Docker容器中。对于复杂的开发和运维环境管理Docker具有先天的优势,目前国内外的互联网公司有大多数都已经将Docker应用到了他们的开发或者生产环境中了。
K8s:本项目采用Kubernates作为容器调度管理的基础环境,开发环境、测试环境的Docker容器都由K8s负责调度管理。
Jenkins:快速的部署发布离不开老牌持续集成明星Jenkins,本项目通过Jenkins任务构建代码、将应用打包成Docker镜像,最终发布到K8s环境中将容器运行起来。
Shell脚本:编写Shell脚本将项目打分支、发布应用等开发阶段的配置管理工作自动化,降低运维门槛、提高配置管理和运维的效率。
WIKI:Gitlib上的WIKI功能相对简陋,因此项目组选择dokuwiki作为异地团队协作和沟通的工具,团队成员可以将设计文档、知识分享文档、公告信息等信息可以更新到wiki上,便与协同开发。
禅道:为了便于开发计划、开发任务和bug关联起来,本项目使用禅道进行开发任务和bug管理。
人员分工及开发流程
微服务架构应用的开发、部署的复杂度都是远大于单体式应用的,靠运维人员手工的配置管理显然是难于应付了。DevOps主张以自动化任务处理方式实现软件交付及基础设施更新,可以说是微服务架构应用开发和运维的必要条件,本项目采用DevOps的理念的开发流程进行开发。实现部署和运维的自动化需要工具,同时DevOps强调软件开发者与其他IT员工及管理层间的协作与沟通,因此明确的人员分工和开发流程是与工具同样重要的因素。通俗的说,就是有了工具,大家要知道怎么使用工具,并且愿意使用工具才能真正达到提高研发效率的目的。
项目组的主要工作成员无非也是做开发、测试和系统管理三类工作,这里只说明与传统的企业应用开发过程中三类人员所做的工作略有不同的工作内容。
开发人员:
a) 开发者做开发设计,需要将涉及到接口部分设计更新到wiki上,供调用者评审和调用。
b) 开发者除了编写程序逻辑外,还需要注意编写单元测试用例,因为分布式应用联调相对复杂,先做在编写单服务时做好了测试再联调能够提高开发效率。
c) 由于本项目是采用Docker容器作为发布载体的,开发者可能需要修改DockerFile模板里的部分参数,便于部署阶段能将编译后的代码打包到镜像中。相对于传统的开发方式,这是对开发者额外的要求。让所有开发者懂Dockerfile似乎要求也有点高,其实每个子项目中的DockerFile及脚本一般是在搭建项目框架时,主要系统配置管理员编写的好的模板,若开发人员不懂相关技术,也可以跟配置管理员沟通需求,由配置管理员修改相关文件。
测试人员:测试人员的工作没有什么特别,只是需要注意除了每个Sprint阶段的测试外,还需要配合开发人员持续集成
您可能关注的文档
- 四年级上学期劳动与技术教学计划.doc
- 四年级下册语文读读写写读读记记日积月累.doc
- 四年级数学上册思维训练全.doc
- 四年级数学思维训练 数列求和问题.doc
- 团体减压活动计划.doc
- 围墙大修施工方案.doc
- 围手术期护理工作流程.doc
- 围挡施工方案(pvc+装配式c+铁马)5.16.doc
- 围档制作安装合同.doc
- 围棋入门班专用教材(适合小学低年级儿童)16.doc
- (正式版)DB51∕T 1867-2014 《袋栽黑木耳生产技术规程》.docx
- (正式版)DB51∕T 2413-2023 《油橄榄密植丰产栽培技术规程》.docx
- (正式版)DB51∕T 2436-2017 《川菜东坡一品肉烹饪工艺技术规范》.docx
- (正式版)DB51∕T 2396-2017 《农村电子商务服务站(点)服务与管理规范》.docx
- (正式版)DB51∕T 2419-2017 《桢楠扦插育苗技术规程》.docx
- CN105145773B 一种无花果曲奇饼干及其制作方法 (江苏农林职业技术学院).docx
- CN105203825A 微测量电极的制作方法和热电势的测量方法及相关装置 (国家纳米科学中心).docx
- CN105137533B 一种啁啾光纤光栅及其制作方法 (南京航空航天大学).docx
- (正式版)DB51∕T 2453-2018 《巴山新居公共管理指南》.docx
- (正式版)DB51∕T 1892-2014 《川西北地区沙化土地治理技术规程》.docx
最近下载
- 海南大学《线性代数A1》2022-2023学年第二学期期末试卷B卷及答案.pdf VIP
- 初中英语自然拼读法与词汇记忆策略融合教学实践探究教学研究课题报告.docx
- 人教版新版小学二年级下册语文生字表课课贴【可打印】.pdf VIP
- 单招笔试语数真题及答案2025.doc VIP
- 《计算机应用基础(第3版)》高等院校计算机基础课程全套教学课件.pptx
- 鱼类的外部形态.ppt VIP
- 邮轮旅游安全天津海运职业刘艳邮轮运营管理84课件.ppt VIP
- 2025-2026学年小学综合实践活动沪科黔科版六年级下册-沪科黔科版教学设计合集.docx
- 【北师大版】五年级数学上册《分数加减法》单元测试卷.doc VIP
- 建筑施工安全管理培训.pptx VIP
原创力文档

文档评论(0)