本文已参与「新人创作礼」活动,一起开启掘金创作之路。
企业级开发测试发布流程
企业级工程项目有一套核心开发流程。一般有如下几个核心模块
- 代码库: 公司内部自创,或者引入开源的库。与直接使用开源库不同,比如使用redis, 公司可能对开源redis client进行封装,加入日志,鉴权,服务发现等等功能。
- 本地代码编写:指如何搭建环境,目前以docker镜像为开发环境比较流行,因为这样新人就不用重复打建环境了。
- 代码仓库:gitlab等开源仓库比较流行,公司内部一般会搭一个内部版。
- 构建:本地构建直接在自己的开发环境构建即可。一般公司会有构建平台,可以直接关联git仓库,只要在git他说根目录下加入如build.sh脚本即可。当然,用于构建的镜像也是可以自己定制的。比如用dockerfile定制。
- 推送与发布:构建完成后会把构建生成的软件包,或者k8s镜像上传到集中的管理平台。发布时,各个IDC机器会下载软件包或者拉取镜像来更新。
- devops: 如上操作可以用一条流水线完成。很多企业流行敏捷开发,持续集成。当提交代码后,会触发流水线开发,如编译打包,测试环境发布,正式环境发布,中间的人工确定等,一气呵成。
企业级大数据收集
程序产生的数据在线上环境,这些数据如用户点击,购买等行为,都会通过日志打点记录下来。因此有一套专门日志收集,存储,查询分析流程,整个流程如下图所示。
IDC流量入口
客户的数据包是怎么进入到服务器程序的?一般在企业级网关入口处是一个LVS负载均衡器。也叫4层负载均衡,针对的是upd和tcp两个传输层协议。 进入到内部,如是web应用,就会用到nginx反向代理,也叫7层负载均衡。再往后才是用户的服务器,当然也可能还有一层应用级负载均衡。