加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 电商 > 正文

携程:我们是如何利用容器实现快速弹性伸缩的?

发布时间:2021-01-12 14:43:04 所属栏目:电商 来源:网络整理
导读:《携程:我们是如何利用容器实现快速弹性伸缩的?》要点: 本文介绍了携程:我们是如何利用容器实现快速弹性伸缩的?,希望对您有用。如果有疑问,可以联系我们。 作者简介 : 吴毅挺 携程系统研发部高级总监 2012年加入携程,从零组建携程云平台团队,目前负

由于容器镜像发布会非常频繁的创建、删除容器,因此我们把容器的监控也做成自动发现,由 hickwall agent 发现到新的容器,分析容器的label信息(比如: appid、版本等)来实现自动注册监控;在单个容器监控的基础上,还可以按照应用集群来聚合显示整个集群的监控信息;

除此之外,携程还做了各个业务订单量的监控,比如说今天有多少出票量、酒店间夜数,而我们可以非常精准地根据历史的信息预测未来的数据,比如说明天的这个时间点订单量应该在多少、准确性在?95%?以上,一旦比预估的偏差太大的话,就会告警有异常,它把一个综合的业务运行健康度提供给业务研发团队,而不仅仅是单个容器的运行情况.

我们在线也会做一些压测,比如说这个集群下面有 10 台机器,这 10 台机器的负载均衡权重都是 0.1,我们会把其中一台调高,看它的吞吐和响应的情况.测出它到了一定极限能提供的 QPS,就可以知道这个集群还剩多少性能高容量,这个容量就是这个集群还能承载多大的压力.

比如说有?25%?的富余,根据订单的变化就可以知道还多多少或者还缺多少,这样就能做到更好的扩缩容调度

目前基于 vm 的应用已经能基于容量规划和预测实现自动扩容,后续容器的扩缩容也会接入,并且做到更实时的扩容和缩容调度;

此外,容器监控对于携程创新工场的团队是很有意义的,这些新孵化的BU对成本控制更严格,随着容器上线,我们能为其提供性价比更高的基础设施.

八、CDOS Overview

图 11

CDOS?全称是?CtripData Center Operating System,?我们希望通过 CDOS 来调度多个数据中心的资源,就好比一个操作系统调度各种资源给各个进程一样,CDOS 会调度多个数据中心的计算、网络、存储的资源给到不同的应用,满足各个应用所需的冗余度,并且会动态的维持这个冗余度,一旦出现异常,可以自动尝试修复,删除出现问题的容器实例,并部署新的实例;这里面会涉及到非常多的模块.

如图 11?最上层是持续交付的发布系统,这一层是跟应用交付相关的东西,开发人员、测试人员都会用的发布系统.下面是针对不同运行模式的应用定制的两套调度管理模块,一个是 cron Job,另一个是 long running service;两者在管理、部署、发布方面都有一些差异化;

底层资源分配是用 Mesos 来实现,历史原因,我们还有大量的服务部署在 windows上,因而需要同时支持 windows server container 和 docker.长期来看未必是继续使用?Docker,因为 Docker 太激进了,目前已经有多种 container 实现方式可以选择.

Windows 容器方面携程也已经做了一些 POC,实现类似前面提到的 ovs + vlan 的网络接入,遵循单容器单 ip 等原则,并且投入覆盖了部分的测试环境.

图中右边有很多服务,比如 L4/L7 负载均衡、?SOA 的服务,CMS 应用元数据管理、监控、日志收集、镜像管理和推送等模块;

由于我们采用容器镜像发布,要实现秒级交付,对于镜像推送速度有很高的要求,当 base image 没有变化时,只需要把应用新版本 build 出来的 app 层通过我们开发的 Ceph 同步模块推送的多个数据中心;

当 base image 也变更时,情况会更复杂,除了同步到各个数据中心的 Ceph 对象存储,还需要预先下发到可能用到的 Docker 服务器,才能以最快的方式启动容器.

作者:吴毅挺

文章来源微信公众号:高效运维

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读