写点什么

eBay 管理庞大服务架构的新方法

  • 2019 年 12 月 05 日
  • 本文字数:2431 字

    阅读完需:约 8 分钟

eBay 管理庞大服务架构的新方法

导读: 知识图谱最早是由 Google 提出来的,又称语义网,用来描述真实世界中存在的各种实体或概念及其关系,构成一张巨大的语义网络图,结点表示实体或概念,边由属性或关系构成。Google 最早搞知识图谱是为提高搜索结果的质量。知识图谱是一种特殊的图数据,由 <实体,关系,实体> 或者 <实体,属性,属性的值> 三元组构成。知识图谱中每个结点都有若干个属性及其属性值,实体与实体之间的边表示结点之间的关系,边的指向表示关系的方向,边上的标记表示关系的类型。从一开始的 Google 搜索,到现在的聊天机器人、大数据风控、证券投资、智能医疗、自适应教育、推荐系统,无一不跟知识图谱相关。它在技术领域的热度也在逐年上升。今年以来,InfoQ 曾策划了不少关于知识图谱的文章。今天我们分享一篇文章,讲解了 eBay 是如何使用知识图谱来管理庞大服务架构的思路。


在服务架构中管理并理解庞大的生态系统是一项不小的挑战:试想在其生产系统中,有超过 3000 个服务应用集群,这对 eBay 而言尤其如此。每个应用都独立发展,各自具有不同的功能和开发方法。而文档的缺乏以及对内部客户没有正确的理解,可能会阻碍高效的开发。


eBay 的愿景(被称为 INAR,智能架构)是通过提供自动化的可见性、评估和治理智能(Governance Intelligence)来构建可持续的服务架构。为此,我们开发了一种新的方法,使用知识图谱对应用程序生态系统进行建模和处理。


译注: 治理智能(Governance Intelligence,GI),由 Francis Ohanyido 博士提出,主要是指利用信息和通信技术应用和技术来识别、提取、分析和描述治理数据。


知识图谱是一个常用术语,但它的确切定义一直备受争议。基本上来讲,知识图谱是一种可编程方式,使用主题内容专家、相互关联数据和机器学习算法对知识领域进行建模。对于 eBay 来说,应用程序 / 基础架构知识图谱是一种异构属性图,可以提高架构的可见性、运营效率和开发人员的生产力,最终使客户在访问网站时能够获得更好的体验。


本文将解释 eBay 架构知识图谱是如何开发的,eBay 从中获得了什么好处,以及我们现在和将来看到的这种方法的用例。


三大挑战

智能架构的愿景旨在解决服务架构的三个关键挑战:


  • 盲目性: 架构问题可能很难观察到,例如软件和 / 或硬件的不适当的依赖关系;或设想一下 eBay 的基础架构和生态系统,以及定制搜索。这是一个问题,因为流行的软件和服务经常演变,并趋于单一,导致服务冗余和功能重复。

  • 无知性: 缺乏服务架构或技术债务的可测性(采取更简便的前期方法时所需的额外返工,从长远来看会更糟糕),可能会阻碍你开发提高运营效率所需的度量。正如管理学大师 Peter Drucker 的名言:“没有测定就没有管理。”(If you can’t measu re it, you can’t improve it.

  • 原始性: 诊断、工程和运行时自动化都不存在。因此,人工智能无法应用于 IT 运营,从而难以发现运营中的异常情况。



很明显,如果要满足 1.83 亿买家的需求,就需要对我们的生态系统有一个更清晰的了解。我们的目标是提供更好的可见性,提供模式 / 异常检测,以及自动化和增强 IT 运营。这使我们产生了使用知识 / 属性图的想法。


建立链接:行为度量和智能分层

图是使用实时度量、业务特性和运营元数据构建的。最终,图的目的是链接数据源并打破孤立的管理域之间的界限。以下是较高层次的描述:



开发知识图谱的第一步,是计算最佳的应用程序度量,并应用机器学习算法以自动对应用程序进行聚类。我们开发了基于实时流量和运行时依赖关系来度量应用程序受欢迎程度的指标。


我们计算了所有 eBay 集群的度量,并使用称为 K- 平均(K-means)和 Canopy 聚类的技术对所有服务进行聚类,然后基于它们的流行度评分。这使我们能够将生态系统组成不同的类别,比如它们的活跃程度。我们发现了 77% 的聚类被标记为低活性。


看得见的理解:图搜索与结果可视化

我们使用知识图谱的目标之一,就是提高开发人员的生产力,使他们能够更有效地检索所需的信息。目前,开发人员必须通过许多工具来接受所需的信息。


为了提高生产效率,我们构建了一个完整的批处理系统,从不同的来源获取数据,并自动构建知识图谱。我们还构建了智能图搜索,它动态生成一个查询来探索知识图谱,包括服务度量和智能分层。下面的数据模式是在应用程序(池)级设计的,带有粗体或黑色边框的框,将作为第一个 “baby” 步骤启用:



通过连接云原生数据、硬件、人员、代码和业务,我们对生态系统有了更好的了解。可视化以一种可以快速理解和操作的方式,提供了丰富的信息。在以下服务依赖关系示例中:我们随机选择了 18 个服务,并通过默认方法之一将它们可视化。在下图中,边框厚度表示边的属性(体积),节点大小表示行为度量。不同的颜色代表团队或组织(例如,黄色表示一个域团队)。



eBay 依赖系统 “Galaxies” 采用了概念证明(Proof of Concept,POC),现在,图模式扩展如下:



识别低效率

我们计算了 3000 多个 eBay 生产集群中的度量和智能服务。三位高级架构师手动验证了流行度度量和自动聚类的初始结果。


研究结果令人惊讶,但也提供了很多信息。大约 10% 的高活动应用程序在不准确的可用性区域下运行,这可能会影响运营性能和正常运行时间。


对于 eBay 来说,知识图谱已经成为一个重要的工具(Galaxies),它使我们能够提供可定制的可视化、应用度量、智能分层和图搜索。


该系统提供了应用程序的自顶向下和自底向上的视图,以及依赖关系和更高的准确性;丰富数据以加强应用程序的合规性;具有清晰的所有权细节的治理;以及运营绩效的建议。


接下来,我们计划通过在图上显示每个事件的全部因果关系细节来增强图,以支持站点异常检测(这是一项初始工作)。


我们还计划扩展此图,以包含服务 API 元数据,这将使服务分层、推荐和聚类成为可能。知识图谱有望成为了解我们的生态系统和满足客户对持续更快、更好服务的期望的关键工具。


作者介绍:


本文作者为 Hanzhang Wang、Chirag Shah 和 Sanjeev Katariya。


原文链接:


eBay’s New Approach to Managing a Vast Service Architecture


2019 年 12 月 05 日 17:532130

评论

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

使用 Shell 脚本实现 Docker

ScratchLab

Docker 容器 namespace Cgroups

2021金三银四面试经历:阿里七面(已拿offer),面试经历+真题分享

Java 编程 程序员 架构 面试

全链路压测二十问干货汇总(上)

数列科技

基于Agora Web SDK自定义直播画面

dajyaretakuya

WebRTC 声网 Agora 数字合成

图说丨一图看懂浪潮云“1231”业务战略

浪潮云

CRM Transaction处理中的权限控制

Jerry Wang

CRM SAP abap

2021最热门的20个数据库学习总结,你会用哪几个?

北游学Java

Java MySQL 数据库 后端

对比解读《2020年CNCF中国云原生调查报告》

阿里巴巴中间件

用ABAP 生成二维码 QR Code

Jerry Wang

二维码 SAP abap

腾讯校招都会问些什么?| 五面腾讯(Java岗)经历分享

Java架构师迁哥

数据挖掘从入门到放弃(四):手撕(绘)关联规则挖掘算法

数据社

机器学习 5月日更

5分钟速读之Rust权威指南(三)

码生笔谈

rust

架构实战营模块四总结

竹林七贤

爱奇艺世界大会|刘文峰:科技创新如何为用户和艺术家服务?

爱奇艺技术产品团队

重磅成果 | 《数据安全治理白皮书3.0》正式对外发布!

DT极客

ElasticSearch架构剖析

五分钟学大数据

大数据 elasticsearch 5月日更

打破思维定式(十一)

Changing Lin

被解救的代码 - 代码即服务时代来了!

阿里巴巴云原生

容器 微服务 开发者 云原生 开发工具

新融合,新跳板:智能云网如何让企业数字化转型,起步即领先?

脑极体

Keycloak 13 自定义用户身份认证流程(User Storage SPI)

Zhang

MySQL spi keycloak 13.0.0 user storage spi

有无社保缴纳识别接口

ALone

业界率先支持 MCP-OVER-XDS 协议,Nacos 2.0.1 + 1.4.2 Release 正式发布

阿里巴巴云原生

容器 微服务 云原生 k8s 中间件

“碳中和”目标下的绿色金融探索

CECBC

金融

4年Java开发经验,经常被问到高并发、性能调优方面的问题,该怎么办?

Java架构师迁哥

从基础到实战一应俱全,这份全网首发的Kafka技术手册,超详细!

Java架构师迁哥

爱奇艺世界大会|开幕式速览:智能制作助推影视工业化,匠心构筑行业健康生态

爱奇艺技术产品团队

Python--TKinter

若尘

Python编程 5月日更

进大厂的iOS程序员,原来是这样“跳槽”的!

iOS猿_员

Flink消费Kafka

大数据技术指南

大数据 flink 5月日更

中国区块链第一村的价值裂变

CECBC

“技术+应用”驱动金融科技创新融合

CECBC

金融

React Native 核心原理及跨端选型思路

React Native 核心原理及跨端选型思路

eBay 管理庞大服务架构的新方法-InfoQ