乐趣区

关于dlib:微服务架构下DLI的部署和运维有何奥秘

摘要:探讨 DLI 两个问题:如何在生产环境中部署与运维实现疾速迭代上线,如何实现监控告警来晋升整体运维能力。

华为云数据湖摸索 DLI 是反对多模引擎的 Serverless 大数据计算服务,其很好的实现了 Serverless 的个性:

1. 弱化了存储和计算之间的分割;

2. 代码的执行不再须要手动分配资源;

3. 按使用量计费。

那么如何能力更好的实现 Serverless 化的服务,同时又防止成为传统单体分布式的利用,微服务架构无疑是最优的抉择。DLI 基于微服务架构模式下的整体部署架构如下:

即对外以纯 API 模式提供服务,通过以 API Gateway 作为利用的入口,基于畛域模型按子域进行微服务划分,从而实现 Serverless 化的大数据计算服务。

对于这样一个基于微服务架构实现的 Serverless 服务,咱们是如何在生产环境来部署与运维,从而在保障服务 SLA 的前提下实现疾速迭代上线的呢?

DLI 部署的要害

随着技术的倒退,部署的流程和架构都产生了根本性的变动,现在曾经走入了轻量级、短生命周期的技术时代。

从最后部署在物理机上的大数据计算平台,到基于私有云的弹性计算云服务器部署大数据平台,再到 DLI 这样的 Serverless 服务,其很好展示了大数据计算服务的演变。那么如何能力更好的实现 Serverless 化的大数据计算服务的部署呢,DLI 的答案就是基于 Kubernetes+Docker 来部署各微服务。

Kubernetes 部署是在不停机的状况下部署服务的好办法,然而如何应答在接管生产流量后呈现的谬误,使新版本的服务更牢靠呢?这能够通过将问题一分为二来看:

1. 部署,行将服务上线到生产环境中运行;

2. 公布,即便服务可用于解决生产流量。

传统上,拆散部署流程与公布流程始终是一个挑战。但当初咱们有了很好的抉择,那就是基于服务网格。在 DLI 的部署中咱们联合了 Kubernetes+Istio,利用 Istio 的流量治理实现了服务发现、流量路由,从而轻松的将部署与公布离开,使新版本的服务更加牢靠。

监控告警晋升整体运维能力

免运维也是 DLI 作为 Serverless 云服务面向客户时的一个重要的个性,咱们是如何实现整个服务的运维呢?明天就说说 DLI 是如何实现监控告警来晋升整体运维能力,从而为客户更好的提供 Serverless 的 DLI。

上图是 DLI 服务的整体部署架构,作为 Serverless 服务其全面拥抱云原生技术,无论是对外提供工作治理的微服务还是最终执行工作的计算单元,其都是基于 Kubernetes 来部署,这也更好的实现了 Serverless 的疾速弹性伸缩。

对于 DLI 服务的监控告警咱们以后次要从以下几个方面来思考:

1. 全局维度, 次要是整体 API 的 QPS、成功率和响应时延

DLI 作为 Serverless 大数据计算服务,其对外均以 REST API 的模式提供服务,因而 API 的 QPS 和响应时延间接反映了服务对外的能力,而成功率更是服务 SLA 的间接体现。

2. OS 维度, 次要是容器宿主的 CPU 使用率、内存使用率、磁盘使用率、上下行流量

无论部署的架构、技术如何演进,对根底资源的监控都是最根本和必须的。

3. 容器维度, 次要是 CPU 使用率、内存使用率、K8s 空间和用户空间使用率、POD 的衰弱度

容器是虚拟机的演进,因而对于容器的资源监控也是最根本的。咱们的微服务或计算单元都是以容器运行在 Kubernetes 集群上,因而对于 POD 的衰弱状态的监控也是必须的。

4. 微服务维度, 次要是流量、性能、健康检查和要害日志等

监控是为了更好的发现和解决问题,因而外围还是业务层面的监控。DLI 是一个简单的分布式 Serverless 利用,其外部依据不同畛域模型又分为不同的微服务,因而对于微服务外部的流量、性能等的监控则是掂量各微服务可靠性的重要指标。一个好的零碎往往有欠缺的日志体系,通过对要害日志进行监控则可能帮忙咱们疾速发现和定位问题,因而这也是咱们在业务维度的监控上的重点。

上述几个方面的监控,是实现云服务自动化运维的一些关键步骤,通过这些咱们可能做到更好的先于客户发现问题,保障服务 SLA。当然这些远远不够,正所谓“路漫漫其修远兮,吾将上下而求索”,更加自动化、智能化的运维才是 Serverless 服务的指标。

华为云 828 企业上云节,可能是动手 DLI 的最好机会,感受一下它的智能化部署和运维。

点击关注,第一工夫理解华为云陈腐技术~

退出移动版