【超详解PPT】元数据驱动的微服务架构(上)

各位好!很高兴能与大家分享“元数据驱动的微服务架构”。

本次分享有两个部分:1、微服务架构需要元数据,2、介绍微服务与元数据的关系。下期会分享:微服务中元数据的价值。

一、微服务架构需要元数据

企业IT架构已经发展了多个阶段,一方面是服务化架构的发展,在SOA阶段主要解决应用间集成问题,但随着企业业务的发展,单个应用逐渐成为“巨石型”应用,难以扩展也难以维护。

微服务架构应运而生,微服务架构专注于单个应用的内部,将“巨石”应用拆分成为多个微服务,以微服务为单独单元开发运营。另一方面是模型化架构式的发展,模型驱动工程也在不断发展,从MDA(模型驱动架构)全面的完全模型自动化,到DSM(特定领域建模)针对特定领域的建模,再发展到DDD(领域模型驱动设计),模型的作用变得更加特定化和轻量化。

服务化架构和模型化架构其实是统一的。在微服务架构中微服务的粒度小,数量多,微服务的设计与微服务之间的连接需要一套规范,同时需要一套可以对话的统一“语言”。

传统的模型方式的核心目标是能够自动生成代码,故定义过于复杂。而微服务间的“语言”的目标与传统不同,用元数据作为“语言”驱动整个微服务架构是不错的选择。

我们看看元数据表示了什么内容,我在之前一篇文章中从心理学的角度详细说明了元数据是什么。(若阅读此文,请微信搜索文章标题“轻松理解元数据,只需懂点心理学”)元数据就是计算机的认知维度,可以说,掌握了元数据就掌握了信息的维度,只有充分利用好元数据(也就是信息的维度),通过合理的元数据建模(维度整合),对元数据进行科学管理(维度完善),才能让让计算机更好地认知企业系统。

元数据管理的核心内容是,信息的概念和信息之间的连接。概念表示对某个业务所有维度的集合,连接是对业务维度之间关系的描述。通过这样的描述,能够使元数据成为微服务直接对话的“语言”,还能够通过“语言”规范微服务体系的设计。

二、微服务与元数据的关系

定位模型与元数据的概念之前,我们不得不提到MOF(元对象设施或者元对象机制 MetaObject Facility),它是OMG(国际标准化组织)元模型和元数据的存储标准,提供在异构环境下对元数据知识库的访问接口。我们可以看到每个层次的上一层是下一层的模型,本层次的描述语言在它的上一层模型中。

我们今天重点关注M1层元数据,也就是通常说的“数据模型层”。M1层(元数据)对应在日常我们项目开发过程中进行的ER模型图模型设计。也就是说我们进行所有的数据层设计其实都是元数据的建模过程。

我们来看一下平时是如何进行模型设计的,也就是进行元数据的设计,数据的描述。我们一般建模过程会将其分解成更小的、更简单的元素,通过多个模型之间的关系描述复杂的事物逻辑。一般从需求开始,无论是用户的需求还是技术需求,能力是实现需求的桥梁与纽带,借助现有的技术手段进行实现的支撑。随着建模过程逐渐深入,建模可以分为概念模型-逻辑模型-物理模型,层层递进最终物理模型会确定数据库实现方式,将数据表固化到数据库中。

我们再来看建模的手段工具,最有效的简化方式是图形建模,也就是我们通常所说的ER图建模。多数建模方法都建立在可视化语言的基础上。比如UML实体-关系图建模,这就是最常见的语义模型建模方法。 基于语义分析模型的元数据模型,主要是建立模型的实体与实体之间的关系,包括元数据模型之间关系的建立,元数据之间的输入输出接口等。

那么问题就来了,之前我们碰到的数据往往是集中存储的。如果数据模型的存储是分散的,多个元数据模型群之间的数据描述是不一致的,多个模型之间互相访问与数据共享应该遵照什么样的标准呢?我们是不是也要设计一套符合所有模型之间交互的语义模型?这种模型之间的所有交互需求都可以满足吗?

确实是有不同数据模型之间统一标准相互访问的机制。答案也是肯定的。XMI 是 OMG在元数据交换方面的最重要标准之一,同时也是 W3C 认可的标准。允许 MOF元数据(即遵从 MOF 或基于 MOF 的元模型的元数据)以流或文件的形式按照 XML 的标准格式进行交换。

在微服务中每个服务都有自己的数据库这种思路与企业级的传统数据建模过程不同,每个微服务中需要建立自己的数据模型。各微服务的接口API需要定义元数据,接口需要清晰的元数据模型,对象、属性。也就是我们需要元数据的原因,我们需要建一套完整的元数据模型机制,这也就是元数据与微服务之间的关系所在。

我今天的分享就先到这里,谢谢大家,下一期将为大家详细介绍微服务中元数据的价值,欢迎持续关注。

关于作者:

王轩

EAII-企业架构创新研究院 专家委员

现任普元软件产品部副总兼大数据产品线总经理,2010年加入普元,全面主持普元大数据产品的研发、拓展及团队管理工作。十年大型企业信息化架构设计与建设经验,曾任中国人民银行核心平台架构师。主持参与了国家开发银行大数据项目、中国人民银行软件开发平台、国家电网云计算平台等大型项目建设。王轩对大数据行业有着深入的研究和洞察,并对企业信息化平台建设,企业云计算及大数据平台建设有着丰富经验。

关于EAII

EAII(Enterprise Architecture Innovation Institute)企业架构创新研究院,是专注于企业架构与业务创新领域的研究机构,致力于金融、电信、能源与政务等行业领域的企业软件架构优化设计与 创新研究,以及分布式计算、服务构件技术、可视化技术、业务流程管理、内存计算、企业移动计算、数据治理等领域的技术研究。

原文发布于微信公众号 - EAWorld(eaworld)

原文发表时间:2016-05-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ATYUN订阅号

高通研究新进展,设备离线语音识别率高达95%

在波士顿的Re-Work深度学习峰会上,高通公司的人工智能研究员Chris Lott介绍了他的团队在新的语音识别程序方面的工作。

18540
来自专栏专知

【前沿】人工智能系统的四大趋势与九大挑战,美国Berkeley14位重量级学者(包含机器学习泰斗Jordan)最新观点

【导读】最近,加州大学伯克利分校大学的大牛们针对目前AI的火爆形势,又总结了一篇《A Berkeley View of Systems Challenges f...

1.2K60
来自专栏量子位

为什么说产品经理都该懂一点机器学习?

李杉 安妮 编译整理 量子位 出品 | 公众号 QbitAI 一个普通(移动)互联网公司的产品经理,也需要懂机器学习?Quora的产品设计师Abhinav Sh...

39240
来自专栏人工智能头条

谷歌工智能开源项目Tensorflow预示着硬件领域的重大变革

16930
来自专栏AI科技评论

业界 | 百度IDL最新成果:从自然语言入手,教AI智能体像人类一样学习

尽管人工智能取得了巨大的进步,但在许多方面仍然存在局限。例如,在电脑游戏中,如果AI智能体未预先编程游戏规则,则必须尝试数百万次才能确定正确的选择。人类可以在更...

291100
来自专栏原创

构建基于LBS的大数据应用

目前,3.0产品最重要的技术——电子围栏技术:电子围栏是精确捕捉用户场景,实时给用户推送有价值消息的手机推送解决方案。客户根据业务需求,在地图上设置电子围栏区域...

57370
来自专栏AI研习社

百度IDL最新成果:从自然语言入手,教AI智能体像人类一样学习

尽管人工智能取得了巨大的进步,但在许多方面仍然存在局限。例如,在电脑游戏中,如果AI智能体未预先编程游戏规则,则必须尝试数百万次才能确定正确的选择。人类可以在更...

31760
来自专栏ATYUN订阅号

亚马逊为开发者带来249美元的学习工具:DeepLens深度学习相机

亚马逊的云计算子公司亚马逊网络服务(AWS)终于为美国开发者推出了DeepLens深度学习相机。

13130
来自专栏华章科技

分布式实时处理系统浪潮——浅析“深度学习”看未来发展

Autodesk资深系统研发工程师,从事平台架构方面的研发工作。曾在思科系统(中国)研发中心云产品研发部工作多年,全程参与了海量数据实时处理、分析系统的构建与实...

8320
来自专栏ThoughtWorks

数据质量管理的一些思考

在近期的项目当中,我们为客户落地实施了数据资产平台。随后,在数据平台中接入了客户子公司的一个业务系统的明细数据。客户希望在我们的数据平台上通过数据探索和数据分析...

44740

扫码关注云+社区

领取腾讯云代金券