数据开放平台的配置管理

背景

美团是数据驱动的技术公司, 非常重视使用数据的效率。为了达到这个目标,我们将数据以开放平台的形式开放给需求方。例如,帮助需求方开发报表的报表开放平台,帮助需求方获取数据的自助查询平台,让需求方参与数据建设的ETL开放平台和调度管理服务。在这些开放平台上,需求方填写必要的配置,平台负责根据这些配置产生需要的报表,导出数据,或者产生ETL流程并通过调度有序执行。通过这种方式,简化用户使用数据的流程,提高用户使用数据的效率。

开放平台的使用导致产生了大量的,不同类型的配置。起初,每个服务独立保存和管理自己的配置。随着开放平台的发展,与开放力度的增加,开放平台对配置的管理遇到了各种各样的问题。主要体现在

  1. 可能由于用户误修改或者误删除了配置,导致了运行问题。希望能够追溯配置的变更历史,更好的找到,提醒,并修复类似的问题。
  2. 在开放平台上,用户可以自行测试不同的配置。但是用户如果需要将自己的配置上线成为在线报表,或者添加到调度参与数据仓库数据清洗,就需要确保用户的配置的质量。必须经过数据组的审核,以保证系统的健壮性与逻辑的准确性。
  3. 每个开放服务的业务都与开放配置有关。这些配置的管理需求十分相似。每个服务都自行维护配置会增加开发成本和维护成本。

针对遇到的问题,我们首先详细的分析了需求:

  1. 统一管理和存储配置。支持不同服务器上的不同语言编写的服务将配置统一存储和管理,并可以按照需求调用。从而避免不同服务重复开发,增加开发成本和维护成本。
  2. 配置隔离。不同的开放平台的配置互相之间是独立的,统一管理和存储,但是互相之间需要互不干扰。
  3. 版本控制。记录配置的历史变更。通过对比不同版本,可以追查修改人,修改原因,修改时间等。在用户出现误操作时,也可以有效的回滚,尽量的降低修复成本,从而降低出错的成本,提高对用户错误修改的容忍度。
  4. 审核功能。通过审核,对可能影响到系统正常运行的主要配置进行变更管理。每次变更,都必须经过审核。审核通过的变更才会被提交到系统中,参与系统的正常运行。
  5. 可视化页面。为了方便测试,管理和运维,需要有方便的页面支持浏览配置列表,查看和修改系统中已经存在的配置等。

以上需求为必须满足的需求。为了能够更方便的使用,还希望该解决方案能够在配置审核通过时,通知使用该配置的服务,使其知晓该变更。

为了满足上述需求,我们决定开发定制的统一集中管理配置的配置管理服务,命名为ConfHub,意为“配置的中心枢纽”。

配置规划

集中管理配置时,不同应用之间的隔离就显得非常重要。同时,应用对配置也有分类需求。所以,需要对配置进行规划。

规划的基本思路是,首先,把配置按照应用进行分类。每个配置属于一个应用,每个应用下,可以有很多配置。在应用下设置命名空间,用来满足应用内的配置分类需求。规划方案如下图:

配置规划图

这种配置规划的方式避免了配置冲突。

版本管理

版本管理可以带来很多好处,比如

  1. 错误修改时,进行回滚。
  2. 在有用户恶意修改时,可以迅速修复。
  3. 执行异常时,根据最近版本修改的内容,定位系统错误的原因。

最基本的版本管理如下图

基本版本管理

这种基本的版本管理方案可以存储配置的历史变更。但实际使用中,并不能满足需求。

在实际的配置使用时,配置需要最终进入生产环境,如报表开发平台的配置产生报表供分析人员使用,ETL开放平台的配置加入调度定时处理数据等。这些生产环境的配置的改动需要经过数据组审核。但在开发过程中,配置需要不停的变更。所以希望版本管理能支持在既不影响线上实际使用的配置的前提下,能够随意修改测试使用的配置。为了解决这种需求,我们对版本管理的逻辑进行了修改。如下图所示

ConfHub的版本管理

在用户需要修改配置时,在测试环境版本中增加新的版本。测试时,使用最新的测试环境版本的配置进行测试。当用户需要更新生产环境中使用的配置时,向数据组提交上线申请,系统会自动的将最新的测试环境版本和最新的生产环境版本的配置进行对比,并将对比结果发给相应负责人审核。审核通过的配置会被添加到生产环境版本中。

通过这种版本管理方法,既保证了生产环境版本是严格受控的,又能保证用户可以自由的测试。

审核

为了保证生产环境运行的配置的质量,生产环境的配置的变更都必须进行审核。在这一点上,我们使用“人工审核,系统辅助”的方案。人工审核,确保配置质量,系统辅助,尽量减少审核人的工作量。

审核过程流程图如下:

Confhub的审核过程

为了提高审核的效率,减少人工审核工作量,用户在开放平台,即配置的使用方,提交配置变更申请。配置使用方会首先对配置进行基本校验,校验通过的配置变更才会提交到配置管理系统。

目前,ConfHub满足了现有开放平台的配置管理需求,有效的支持各个开放平台的发展。

后续,ConfHub主要发展方向是

  1. 部分开放平台对配置管理有特殊的需求。在提供大体相同的配置管理方式后,ConfHub也需要提供一些更精细,更定制的配置管理方式。
  2. 开放的方式不止有开放平台一种,而各种不同的开放方式,都有需要管理的配置。管理其他开放方式的配置,也是ConfHub的目标。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/477798.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 1271. 十六进制魔术数字(进制转换)

1. 题目 你有一个十进制数字,请按照此规则将它变成「十六进制魔术数字」:首先将它变成字母大写的十六进制字符串,然后将所有的数字 0 变成字母 O ,将数字 1 变成字母 I 。 如果一个数字在转换后只包含 {“A”, “B”, “C”, “…

评测任务征集 | 全国知识图谱与语义计算大会(CCKS 2022)

评测任务征集全国知识图谱与语义计算大会(CCKS 2022)2022年8月25-28日,秦皇岛http://sigkg.cn/ccks2022/全国知识图谱与语义计算大会(CCKS: China Conference on Knowledge Graph and SemanticComputing)由中国中文信息…

SegmentFault 美团云采访实录

约半年前,美团悄然上线了美团云(Meituan Open Services,简称MOS),这是美团网根据自身虚拟化平台开发和运维经验开放的云计算服务,类似AWS。 美团 CEO 王兴可能是中国最知名的连续创业者,曾创办校…

开局一段扯,数据全靠编?真被一篇“神论文”气到了

文 | 苏剑林(追一科技)编 | 智商掉了一地看来以后我们看论文的时候,不仅要关心论文成绩的可复现性,还要留意它们的求和、均值、方差等有没有算错,否则真的是“无奇不有”!!这篇文章谈一下笔者被…

LeetCode 147. 对链表进行插入排序(链表)

1. 题目 对链表进行插入排序。 插入排序的动画演示如上。从第一个元素开始,该链表可以被认为已经部分排序(用黑色表示)。 每次迭代时,从输入数据中移除一个元素(用红色表示),并原地将其插入到…

征稿 | 软件学报专刊征文:知识赋能的信息系统

伴随着人工智能的浪潮,智慧信息系统的发展方兴未艾,正处于由感知智能到认知智能转变的关键时期。要实现认知智能的系统跃升,离不开知识的赋能。在数字化转型背景下,数据对象和交互方式的日益丰富和变化,对以知识图谱为…

基于Flume的美团日志收集系统(二)改进和优化

在《基于Flume的美团日志收集系统(一)架构和设计》中,我们详述了基于Flume的美团日志收集系统的架构设计,以及为什么做这样的设计。在本节中,我们将会讲述在实际部署和使用过程中遇到的问题,对Flume的功能改进和对系统做的优化。 …

LeetCode 462. 最少移动次数使数组元素相等 II(数学)

1. 题目 给定一个非空整数数组,找到使所有数组元素相等所需的最小移动数,其中每次移动可将选定的一个元素加1或减1。 您可以假设数组的长度最多为10000。 例如: 输入: [1,2,3] 输出: 2说明: 只有两个动作是必要的(记得每一步仅可…

embedding亦福亦祸?XGBoost与LightGBM的新机遇

文 | 水哥源 | 知乎Saying1. 小的性能差异在容易实现面前一文不值,这一点是XGBoost和LightGBM的最大优势2. 没能与embedding很好地结合无疑是树模型的灾难,吃不下巨量的新数据,也打不过DNN,除了一些规模比较小的公司,树…

论文浅尝 - ACL2022 | 面向推理阅读理解的神经符号方法

转载公众号 | 南大Websoft概述近两年来NLP领域出现了一些富有挑战性的机器阅读理解数据集,如ReClor和LogiQA。这两个数据集中的问题需要对文本进行逻辑推理,然而传统的神经模型不足以进行逻辑推理,传统的符号推理器不能直接应用于文本。为了应…

LeetCode 1026. 节点与其祖先之间的最大差值(二叉树DFS)

1. 题目 给定二叉树的根节点 root,找出存在于不同节点 A 和 B 之间的最大值 V,其中 V |A.val - B.val|,且 A 是 B 的祖先。 (如果 A 的任何子节点之一为 B,或者 A 的任何子节点是 B 的祖先,那么我们认为…

凭“难听”上热搜的 idol 们,不如考虑下让 Transformer 帮您作曲?

视频制作 | 白鹡鸰编 | 小轶考虑到 “AI 音乐”这一主题的特殊性,唯有多媒体的视频形式才能更好地给大家带来视听上的多重感受。于是,小屋的白鸟鸟同学在科研间隙连续肝了好几个晚上,才得以完成这次视频。然而在上周的推送中,不知…

YUI3在美团的实践

美团网在2010年引爆了团购行业,并在2012年销售额超过55亿,实现了全面盈利。在业务规模不断增长的背后,作为研发队伍中和用户最接近的前端团队承担着非常大的压力,比如用户量急剧上升带来的产品多样化,业务运营系统的界…

论文浅尝 - ICLR2022 | OntoProtein:融入基因本体知识的蛋白质预训练

论文题目:OntoProtein: Protein Pretraining With Gene Ontology Embedding本文作者:张宁豫(浙江大学)、毕祯(浙江大学)、梁孝转(浙江大学)、程思源(浙江大学&#xff09…

LeetCode 540. 有序数组中的单一元素(位运算二分查找)

1. 题目 给定一个只包含整数的有序数组,每个元素都会出现两次,唯有一个数只会出现一次,找出这个数。 示例 1: 输入: [1,1,2,3,3,4,4,8,8] 输出: 2示例 2: 输入: [3,3,7,7,10,11,11] 输出: 10注意: 您的方案应该在 O(log n) 时间复杂度 和 O…

迁移Prompt–解决Prompt Tuning三大问题!

文 | Harris刘鹏飞博士将近代NLP的研究划归为四种范式 [1] 并把预训练语言模型加持下的Prompt Learning看作是近代自然语言处理技术发展的“第四范式”。当我们使用新范式的方法的时候,能够意识到它带来的优异性可能是以某种“人力”牺牲为代价的。而如何让这种人力…

征文 | 2022年全国知识图谱与语义计算大会(CCKS 2022) 征稿通知

2022年全国知识图谱与语义计算大会征稿通知Call for Papers2022年8月25日-28日,秦皇岛征稿截止: 2022年5月22日第十六届全国知识图谱与语义计算大会(CCKS: China Conference on Knowledge Graph and Semantic Computing)由中国中文信息学会语…

Spring Cloud 和 Dubbo 哪个会被淘汰?

今天在知乎上看到了这样一个问题:Spring Cloud 和 Dubbo哪个会被淘汰?看了几个回答,都觉得不在点子上,所以要么就干脆写篇小文瞎逼叨一下。 简单说说个人观点 我认为这两个框架大概率会长期都存在。 时至今日,这两个…

DNN与推荐两大门派,一念神魔,功不唐捐

文 | 水哥源 | 知乎Saying1. embeddingDNN范式有两个流派,一个更关注DNN,叫逍遥派;一个更关注embedding,叫少林派2. embeddingDNN这种结构中,embedding一般是模型并行;DNN一般是数据并行3. 逍遥派能够创造奇…

会议交流—PPT下载|DataFunSummit2022:知识图谱在线峰会PPT合集!

点击上方公众号卡片,后台回复『20220312』,即可下载!有哪些PPT?下载方式点击下方公众号卡片,后台回复『20220312』,即可下载!OpenKGOpenKG(中文开放知识图谱)旨在推动以中…