写点什么

eBay Cloud 基于 MongoDB 的 CMDB 经验分享

  • 2014-09-02
  • 本文字数:2086 字

    阅读完需:约 7 分钟

2011 年,eBay 启动了私有云项目 eBay Cloud,并于 2012 启动其管理系统 Configuration Management Service(CMS)的研发。根据其团队描述,CMS 是一个高性能的配置管理服务,对配置元数据进行持久化,支持 RESTful API 以及 Java 和 Python 的客户端库。

CMS 的研发和运维团队有部分成员在上海研发中心。近日,InfoQ 中文站与 eBay Cloud Service 团队资深软件开发工程师苏良飞进行了沟通,了解该团队最近的发展情况。

嘉宾简介

苏良飞,现在 eBay Cloud Service 团队工作。开发了 eBay Cloud Service 的 Configuration Management Service(CMDB) 和 Load Balancer Management Service。主要关注 Java 服务器端开发和分布式系统开发。

InfoQ:先介绍一下您所在的 eBay Cloud Service 团队吧。

苏良飞:我目前所在的团队属于 eBay Cloud Service 里的 Cloud Foundation。我们团队目前在上海有 5 个研发人员,都是开发 Java 服务器端程序(Core Java SE),另外数据库知识(SQL database、MongoDB、Cassandra)以及服务器的运维也是我们所必须的技能。

我们团队现在主要职责是 CMS(Configuration Management Service)系统的开发和运维。KPI 的设置与产品的发展是一致的,主要包括:

  • 产品新功能的开发和改进
  • 线上 CMS 的整合(CMS 在各个组的采纳率是我们的目标之一)
  • 线上 CMS 可用性的监控和维护
  • 基于 CMS 数据的报表和监控

CMS 这个项目是在 12 年中启动,原型系统在 13 年初线上部署。在 2013 年里我们开始进行线上数据的整合(包括和不同部门间的整合),对不同部门的实施访问控制,对代码进行了一次较大规模的调整,在 2013 年还开始了基于 CMS 数据的 validation,目标是对 eBay site 上的环境进行冗余和风险的监控(一些服务在部署时因为缺少整体的数据视图,导致缺乏必要的冗余或者是不充分冗余),还对 CMDB 的数据修改实现了基于 Cassandra 的 audit。

目前 CMS 项目工作重点是:

  • 核心系统新功能:
    • 新的查询功能的上线
    • 多 mongo repl-set 的分片实现
  • 整合
    • 与更多的内部工具整合,目前还只有 eBay 的 cloud 服务在 CMS 上运行。eBay 网站的实时监控正在和 CMS 做整合
  • 系统运维
    • CMS 有 5 个 9 的可用性要求
  • 周边系统开发:
    • audit 的 snapshot 功能
    • 基于 CMS 的 JSON data 进行数据的分析(上述的 site 环境监控)

InfoQ:CMDB 作为 Cloud 系统中的统一数据存储,在设计的时候主要关注哪些能力?

苏良飞:CMDB 在设计中的一些主要考虑点是:

  1. 读写不均衡,典型的读大于写的用例
  2. 配置系统的数据量不算太大,可以尽量的使用 memory
  3. CMDB 的表结构的改动比较频繁,系统要能提供尽量平滑的表结构改动
  4. 对于日常的查询,CMDB 应该能提供方便的查询语言

前三点是我们采用 MongoDB 的出发点,而对于第四点我们实现了自己的查询语言来提供跨表的查询功能。

InfoQ:从 CMDB 上线运作之后,你评估这套系统设计的好的地方在哪里,又有哪些地方是一开始没有考虑到的?遇到的最大的挑战是什么,又是如何解决的?

苏良飞:上线之后,从用户的角度,看到了读写的消耗时间的下降,CMS 的查询语言提供了方便的数据查询能力,权限控制使得不同组的权限更加明确,这些都是和已有系统相比的带来的好处。

CMS 的查询语言是为了提供用户在 MongoDB 做跨表查询和提供更方便的数据查询功能而实现的,上线后用户提了很多查询需求,比如对于对象图中的反向查询,树形查询,子查询,这几个功能都是一开始没考虑到的。

遇到的比较大挑战主要有:

  1. 数据量增加后的查询分页处理。现在的 NoSQL 查询系统一般要求做多表链接时至少其中的一个表能够完全导入到服务器的内存中。而我们通过转移部分工作到客户端,解除了这个限制,实现了一个 iterator 模式的数据分页。
  2. 系统可用性的挑战: MongoDB 的一些限制,比如 MongoDB 在比较大的数组建索引时会出现数据写操作很慢的情况,因为 MongoDB 是数据库级别的读写锁,这样的一个写操作会使得整个的系统延迟变的很高。为此,我们加入用户控制(rate limit)、模型修改(避免大数组索引,把引用关系存到多端)、以及基于内存的节流阀(throttling)来控制用户的行为和保证系统的可用性。

InfoQ:eBay Cloud 系统包含哪些组件,各自之间的关系是怎样的,各自是哪个团队在维护?

苏良飞:目前 eBay Cloud 正在迁移往基于 OpenStack 开发的云平台。这一块包含了 OpenStack compute/network/glance/keystong/storage。而 OpenStack 覆盖比较弱的 load balancer / dns 部分,eBay 自己开发并向社区贡献了设计和代码。

OpenStack 对 BareMetal(物理机)的支持还不成熟,eBay 在这块使用了自己开发的 Stratus(由上海的团队负责)。 对 cloud 的 configuration 统一的存储是在 CMS 中,CMS 存储为上层的 PaaS 和 remediation 提供了数据源。在 OpenStack 和 CMS 之间是通过异步的消息队列监听进行数据同步。

InfoQ:整个 eBay Cloud 系统现在的运行情况如何?目前主要的工作重点是什么?

苏良飞:eBay 的 cloud 中跑着 4w+ 的物理机和 6w+ 的虚拟机,大部分流量都跑在 eBay Cloud 提供的虚拟机上。目前的工作重点是 OpenStack cloud 系统的扩展和可靠性:

  1. Nova 扩展性
  2. SDN 的应用
  3. 如上提到的 eBay 自己研发的若干 OpenStack 模块
2014-09-02 20:244696

评论

发布
暂无评论
发现更多内容

详解多智能体架构:以 Open Deep Research 项目为例

火山引擎开发者社区

字节跳动 火山引擎 多智能体

数字先锋 | 数字之光,在“水”一方,天翼云加速攀枝花水务集团国产化发展!

天翼云开发者社区

云计算 天翼云

AI+软开-软件开发企业的数字化转型

lsycang

百度智能云,造出了AI时代的擎天柱

脑极体

AI

大数据产品线生产操作安全规约

天翼云开发者社区

大数据 安全

合理选择任务调度的路由策略,可以帮助降本 50%

阿里巴巴云原生

阿里云 云原生 任务调度

办公常用的多屏协同工具有哪些?5个国内外主流应用盘点

职场工具箱

效率工具 在线白板 办公软件 在线协作 多屏协同

API 接口调用中的常见异常及解决方案

Noah

Unity 面向开发者推出免费广告质量工具 护航玩家体验

极客天地

项目启动会如何开?这些项目管理工具和模板让你事半功倍

职场工具箱

项目管理 可视化 在线白板 在线协作 效率办公

如何利用密码策略解决AD域弱密码问题?

运维有小邓

KubeBlocks For MySQL 云原生设计分享

小猿姐

MySQL 数据库 云原生 k8s

从体验到系统工程丨上手评测国内首款 AI 电商 App

阿里巴巴云原生

阿里云 云原生

分享mp.jobleap4u.com,一个有温度的求职知识库

Y11

求职 找工作 招聘 AI招聘

Dify知识库调优秘籍:6步精准改造,让AI回答从此可靠无误

测吧(北京)科技有限公司

流程大咖说 |AI 重构 “中国制造”:如何让汽车行业效率狂飙 40%?

凡得流程PROCESS X

人工智能 制造业 流程挖掘 央国企数智化转型 传统行业

从流程洞察到价值释放,AI赋能运营商全场景智能升级

凡得流程PROCESS X

数字化转型 移动 电信 运营商 联通

吴炳锡:AI 时代下的湖仓一体化平台建设的思考

Databend

ManageEngine卓豪-衡量IT基础设施可用性指标-MTTF

ServiceDesk_Plus

ManageEngine卓豪

5个技巧让文心快码成为你的后端开发搭子

百度Geek说

新增Zulu-CLI、企业版对话支持自定义模型、一键设置自动执行、复用相同终端,8月新能力速览!

Comate编码助手

自定义模型 AI辅助编程 AI 编程 文心快码 文心快码Zulu

从“流程”到“资产”:开启企业数字化运营的下一个黄金点

凡得流程PROCESS X

软件 信创 流程资产 #流程挖掘

Playwright基础入门篇 | 交互操作深度解析

测试人

AITC 2025测试开发峰会圆满落幕

测试人

云上托举智造梦,天翼云为机械工业注入澎湃数字活力!

天翼云开发者社区

云计算 工业数字化

爆单不慌!RestCloud iPaaS让618双11财务对账丝滑到飞起

谷云科技RestCloud

数据同步 ETL ERP ipaas 财务系统

10分钟无痛部署!字节Coze开源版喂饭教程

测吧(北京)科技有限公司

“双碳”目标下的能源业转型指南!《能源业可观测性落地全景报告(2025)》免费下载!

博睿数据

当流程挖掘遇上 AI 智能体:凡得科技如何让企业流程 “自己跑起来”?

凡得流程PROCESS X

流程挖掘 数字化案例 央国企数智化转型 央国企数字化产业赋能图谱 数字化转型‘’

通过ETL工具,同步SQLserver数据至starrocks数据库

谷云科技RestCloud

数据传输 数据同步 ETL SqlServer StarRocks

flink-cdc之mysql到es

天翼云开发者社区

数据库

eBay Cloud基于MongoDB的CMDB经验分享_服务革新_sai_InfoQ精选文章