一文详解如何在 ChengYing 中通过产品线部署一键提升效率

这篇具有很好参考价值的文章主要介绍了一文详解如何在 ChengYing 中通过产品线部署一键提升效率。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在之前的内容当中,我们为大家介绍过 ChengYing 的安装原理、产品包制作等内容,本篇就延续之前的内容,和大家展开聊聊 ChengYing 产品线部署相关的设计。帮助对「一站式全自动化全生命周期大数据平台运维管家 ChengYing」感兴趣的开发者更好地了解和使用 ChengYing。

产品线部署简介

首先对 ChengYing 的产品线部署进行一个“自我介绍”,共分为三个部分:

● 支持用户自定义的产品线

在 ChengYing 中,是以组件包的维度部署服务,比如一个 zookeeper 的产品包,会预先定义好 ZK 的包上传到 ChengYing 的系统当中,再去选择要部署的服务以及给 ZK 编排部署机器,以此完成部署。

对于初学者来说,当需要部署多个服务,这些服务又有顺序依赖关系时,会不清楚部署的先后顺序,从而导致部署非常吃力。因此 ChengYing 支持使用 DAG(有向无环图)进行定义灵活可配的组件包部署顺序。目的是为了让熟悉和不熟悉的人都能够通过预定义产品线的形式同时部署多个组件包,从而大大提高部署效率。

● 支持服务的亲和性配置

根据组件包中不同服务的类型,结合主机角色信息自动进行服务主机编排。在接入主机到 ChengYing 系统中时,支持给主机打上对应的标签即角色,相应角色的组件会部署到相应角色的机器上。

● 一键自动部署组件包

基于组件包手动部署,同样的入口,选择不同的产品线部署方式之后,可一键按需迅速完成所需要的多个组件包的同时部署,提高部署效率。

产品线部署设计

接下来,通过代码设计的角度看看 ChengYing 对产品线部署是如何进行技术设计的。

什么是 DAG

DAG (有向无环图,Directed Acyclic Graph)是一种常用数据结构,仅就 DAG 而言,它已经在我们日常的各种工具中存在,如依赖系统、数据流系统、数据可视化等。当我们从任务编排的角度来看,DAG 面向普通人术语叫作工作流(Workflow)。

在图论中, 如果一个有向图无法从任意顶点出发经过若干条边回到该点, 则这个图就是一个有向无环图 (DAG 图)。

一文详解如何在 ChengYing 中通过产品线部署一键提升效率

ChengYing 产品线部署设计的核心就是给定一组任务,按照自定义的方式安排它们的执行顺序,即 DAG。

产品线 DAG 定义

预先定义某一条产品线中每一个组件包的部署顺序,将其关系使用 DAG 的方式定义为 json 文件,平台自动解析 json 得到部署顺序从而实现自动部署的效果。

一文详解如何在 ChengYing 中通过产品线部署一键提升效率
· product_line_name: 产品线名称(可预定义)

· product_line_version: 产品线版本(可预定义)

· product_serial: 组件包部署顺序(上图说明 DTBase 的 dependee 为0,表示没有依赖;DTFront 的 dependee 为1,表示依赖 id 为1的组件包)

产品线 DAG 源码分析

如果要对复杂对象排序的话,该排序必须包含 Len,Swap,Less 这三个方法。

一文详解如何在 ChengYing 中通过产品线部署一键提升效率

下面这段源码是 DAG 执行的核心逻辑,对于源码的具体解析可以前往视频进行观看:

https://www.bilibili.com/video/BV1KV4y1Q7KP/?spm_id_from=333.999.0.0

源码本身已经全部开源,可以前往 ChengYing 的 Github 进行学习:

https://github.com/DTStack/chengying

一文详解如何在 ChengYing 中通过产品线部署一键提升效率

服务亲和性配置

服务亲和性的定义指以预选、优选、选定的机制完成将每个新的服务绑定至为其选出的目标节点上。

在 k8s 中,支持节点和 Pod 两个层级的亲和性、反亲和性调度,通过配置亲和与反亲和的规则,允许指定硬性限制和软性限制,即偏好。

比如将前端的 Pod 和后端的 Pod 部署在一起,这样可以减少网络延迟。或是某一类型的服务部署在某一类型的节点上,不同的应用部署在不同的节点上等。

定义节点亲和性规则时有两种类型的节点亲和性规则 :硬亲和性 required 和软亲和性 preferred。硬亲和性实现的是强制性规则,它是 Pod 调度时必须要满足的规则,而在不存在满足规则的节点时 , Pod 对象会被置为 Pending 状态。

而软亲和性规则实现的是一种柔性调度限制,它倾向于将 Pod 对象运行于某类特定的节点之上,而调度器也将尽量满足此需求,但在无法满足调度需求时它将退而求其次地选择一个不匹配规则的节点。

类似于 k8s,ChengYing 中的服务亲和性和反亲和性也进行了相应的字段设置:

· orchestration.affinity:数组,自动编排角色亲和性【可选】, 但是没有该字段的话,该服务将无法参与自动编排

· orchestration.anti_affinity:数组,自动编排角色反亲和性 【可选】

使用场景

下面来为大家介绍如何在 ChengYing 中使用产品线的部署。

设置主机角色

在【部署中心】-【集群管理】-【集群详情】中,可以给节点编辑对应角色。

一文详解如何在 ChengYing 中通过产品线部署一键提升效率

上传产品线

角色完成定义之后,就可以在【部署中心】进行部署。支持自动部署(基于产品线顺序部署多个组件包,支持主机角色自动编排),手动部署(基于单个组件包部署,支持自定义主机编排)。

只要把产品线和产品包的亲和性与反亲和性全部定义好之后,开发者进入这个页面会非常一目了然,每一个节点上分配了哪些服务,先后进行怎样的部署等,一键就可以完成这些繁琐的工作,极大提升部署效率。

一文详解如何在 ChengYing 中通过产品线部署一键提升效率
一文详解如何在 ChengYing 中通过产品线部署一键提升效率

视频课程&PPT获取

视频课程:

https://www.bilibili.com/video/BV1KV4y1Q7KP/?spm_id_from=333.999.0.0

课件获取:

https://www.dtstack.com/resources/1037

《数栈产品白皮书》:https://www.dtstack.com/resources/1004?src=szsm

《数据治理行业实践白皮书》下载地址:https://www.dtstack.com/resources/1001?src=szsm

想了解或咨询更多有关袋鼠云大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:https://www.dtstack.com/?src=szbky

同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术qun」,交流最新开源技术信息,qun号码:30537511,项目地址:https://github.com/DTStack文章来源地址https://www.toymoban.com/news/detail-434862.html

到了这里,关于一文详解如何在 ChengYing 中通过产品线部署一键提升效率的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数据分类分级产品,一文详解

    前言 1、产品介绍 2、技术原理 3、业务流程 4、部署方式   4.1常规部署   4.2docker镜像部署 5、产品主要功能   5.1数据资产扫描   5.2敏感数据自动发现   5.3数据分类分级管理   5.4分类分级结果导出 6、产品价值 7、安全服务 8、技术发展趋势   8.1具备机器学习和数据挖掘技术

    2024年02月09日
    浏览(48)
  • 一文详解如何从 Oracle 迁移数据到 DolphinDB

    Oracle 是一个广泛使用的关系型数据库管理系统,它支持 ACID 事务处理,具有强大的安全性和可靠性,因此被广泛应用于各种企业级应用程序。但是,随着数据规模的增加和业务需求的变化,Oracle 的一些限制和缺点也逐渐暴露出来。例如,Oracle 的许可证费用昂贵,而且对于海

    2024年02月08日
    浏览(35)
  • 一文了解国外AIGC头部产品

    AIGC是指通过人工智能技术生成的内容,包括文字、图片、音频和视频等。AIGC技术可以基于大量的数据和算法,自动地生成各种类型的内容,可以用于新闻报道、广告宣传、文学创作、游戏设计等各个领域。AIGC技术的优点在于可以大大提高内容生产的效率和质量,节省了人力

    2024年02月08日
    浏览(49)
  • 一文详解:传统企业如何把进销存管理流程搬到线上?

    进销存管理 是企业管理的核心流程之一,它有助于提高效率、降低成本、增加盈利,同时确保客户满意度,这对于企业的 长期成功和竞争力 至关重要。但在信息化转型的浪潮下,很多企业的传统进销存流程却遇到不少问题。 如果你也在考虑把进销存流程搬到线上,那么请花

    2024年02月05日
    浏览(43)
  • 在net中通过Autofac实现AOP的方法及实例详解

      在本示例中,我们将使用Autofac和AspectC( Autofac.Extras.DynamicProxy2)来演示如何实现AOP(面向切面编程)。我们将创建一个简单的C#控制台应用程序,并应用AOP以解决日志记录的问题。首先,让我们讨论AOP的用途和目标。 AOP是一种编程范式,旨在解决横切关注点(cross-cutting

    2024年02月05日
    浏览(40)
  • 如何高效优雅的完成一次机器学习服务部署?一文详解部署难点以及实战案例

    伴随着ChatGPT的大火,很多人也逐渐认识到人工智能正在逐步由底层建筑上升到交互服务,其实在没有兴起ChatGPT时,人工智能技术就已经发展的比较成熟了。像是现在机器学习以及深度学习都已经普及在各大高校社区了,而且市场上已经有非常多的目标识别、图像检测等计算

    2023年04月15日
    浏览(39)
  • 一文讲透产品经理如何用好ChatGPT

    作者:京东零售 何雨航 “4.0版本的ChatGPT可以有效提升产品经理工作效率,但并无法替代产品经理的角色。” 3月15日,OpenAI发布了最新的基于GPT-4的ChatGPT,关于其智能性的讨论热度在互联网上空前高涨。 我之前体验过3.5版,发现其难以应用于实际工作中。4.0版本推出后,在

    2023年04月16日
    浏览(43)
  • 一站式运维管家 ChengYing 主机接入原理解析

    之前的文章中,我们已经为大家介绍了 ChengYing 的安装原理、产品包制作、产品线部署等内容,本篇将和大家介绍一个困扰许多开发者的内容——ChengYing 主机接入。帮助所有对 ChengYing 感兴趣的开发者更好地了解和使用一站式全自动化运维管家 ChengYing。 在部署完 ChengYing 之后

    2024年02月13日
    浏览(44)
  • 路由器的工作原理及数据是如何在路由器中通过

    对于一般人而言只要能使用路由器上网就可以了,但对于一个合格的网管来说,是必须要知道路由器的工作过程的,尤其是要知道数据是如何在路由器中通过的。 一、当数据经过路由器时,在原始套接口上可调用connect函数, connect函数仅设置目的地址。再重申一遍:端口号对

    2024年02月05日
    浏览(89)
  • 如何在MinIO存储服务中通过Buckets实现远程访问管理界面上传文件

    MinIO是一款高性能、分布式的对象存储系统,它可以100%的运行在标准硬件上,即X86等低成本机器也能够很好的运行MinIO。它的优点包括高性能、高可用性、易于部署和管理、支持多租户等。 Cpolar内网穿透提供了更高的安全性和隐私保护,通过使用加密通信通道,Cpolar技术可以

    2024年01月20日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包