广告业务系统 之 敏捷交付 —— “基于 Docker 容器同机部署”

Posted 魏小言

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了广告业务系统 之 敏捷交付 —— “基于 Docker 容器同机部署”相关的知识,希望对你有一定的参考价值。

文章目录

广告业务系统 之 敏捷交付 —— “基于 Docker 容器同机部署”

服务 Docker 构建及部署

在 ADX 系统中,全链路涉及 大大小小的微服务 将近 百个。
良好的服务构建和灵活、敏捷的部署能力,是保证广告业务快速交付价值的基石。

在实际生产中, ADX 系统服务为保障高可用、高性能 的同时,最大提升机器利用率。统一施行 以 Docker 容器为主的节点混部模式。

代码支持

值得一提的是,混部模式中,服务之间通信以容器为单位,走本地端口,无网络带宽限制、无网络资源问题、且大幅提升服务链路性能效益。这种部署模式已经在实际应用中得到了充分的肯定。

服务支持 Docker 容器技术的前提是,在实现代码中需要准备相关的部署文件。

.
├── build.sh //服务构建文件
├── docker-compose.yml //容器启动执行文件
└── Dockerfile //镜像构建文件

服务打包&构建

在完成服务功能代码之后,将最新代码上传至 Git Code 库。


CI/CD 平台,将会 Clone 业务代码,并依据其中的 build.sh 及 Dockerfile 分布进行构建 和 镜像打包工作。同时,会将完整的镜像及代码 Push 到专用的远程库之中,后续用于业务服务部署。

服务部署

服务部署前,会在团队分配的机器资源池中,依据现阶段各机器使用率及所属机房、高低配置,挑选合适的服务机器。

服务部署节点遵循 多机房部署、考量容灾、备份、高低同权重 …等等策略。其中重要的一点是,需要依据选出的节点合理的承接即将部署服务的流量规模,尤其需要评估出适量的冗余度,一般在 1.0 左右。【视各自服务场景而定】


CI/CD 平台将依据 代码中的 Docker-dompose.yml 文件进行相对的 部署逻辑。在部署顺序上,有着严格的次序:首先需要启动新服务,完成后再停止旧服务。

这样的次序可以保证服务功能迭代无损变更。

上述的“ 打包-构建-部署 ” 的流程可通过平台动态自主触发的形式进行落地。这样每次 Code 库存在更新,便自动触发流程,完成 “打包-构建”。最终服务功能开发完成,交付时间可压缩至秒级。

灵活、自主的构建、部署能力 使团队在日益竞争加剧的环境下,具备绝对的敏捷优势。


见后续文章!

推荐阅读:
暨 广告、推荐、搜索 三大顶级复杂业务之 “广告业务系统详叙”
广告业务系统 之 承前启后 —— “消息中心”
广告业务系统 之 数据中转站 —— “日志中心-实时服务监控”
广告业务系统 之 数据桥梁 —— “日志中心-曝光数据流转结算”
广告业务系统 之 核心通道 —— “日志中心-s2s监测上报”
广告业务系统 之 辅助决策 —— “ AB 实验平台”
广告业务系统 之 框架沉淀 —— “数据消费型服务框架”
广告业务系统 之 智能保险丝 —— “智能流控”
广告业务系统 之 敏捷交付 —— “基于 Docker 容器同机部署”
广告业务系统 之 业务串联 —— “ PDB - 广告投放【保量保价】”


三行代码搞定 —— 反转链表…
Kafka 高吞吐、高性能核心技术及最佳应用场景…
HTTPS 如何保证数据传输安全 —— TLS 协议…
五分钟搭建基于 Prometheus + Grafana 实时监控系统…

以上是关于广告业务系统 之 敏捷交付 —— “基于 Docker 容器同机部署”的主要内容,如果未能解决你的问题,请参考以下文章

构建之法第六,七章

从复兴壹号看敏捷开发

《构建之法》4

从敏捷协作到价值交付

《构建之法》第六章

构建之法第六章学习心得