上次分享了两个部分:微服务架构需要元数据,微服务与元数据的关系,那么微服务中的元数据中具体如何应用,有哪些应用场景?我们接下来看一下——微服务中元数据的价值,了解元数据在微服务中具体的应用价值点。
在实际工作中,元数据驱动的微服务价值体现为:一、提供微服务边界交互模型;二、规范微服务开发和使用;三、分析微服务的脉络;四、管理微服务的全生命周期。
每个微服务代表一个业务可交付的应用,不同微服务在进行数据互通的时候需要一个业务实体作为信息承载。而这个信息载体通常称为微服务的交互信息,这些信息是通过元数据进行的,它代表在微服务间游走的数据载体信息,不同功能的微服务所使用的载体根据业务不同是不太一样的,在微服务架构下最好进行事前定义。
边界,也就是元数据,这个元数据就像网络传输的数据包的概念,有它的协议和格式。微服务下的元数据主要解决:模型复杂性和模型变更 、涉众沟通、设计沟通、提炼并捕获领域知识等相关问题。
上图服务数流程是企业申请贷款审核流程中便指定贷款款项相应划款对象(收款人),贷款发放后,银行按照合同约定将贷款款项直接划转至指定收款人的操作。本场景中涉及到5个服务的串联整合,服务间的连接就是通过元数据驱动完成的。微服务的设计和实现需要遵照组织级的元数据知识库进行开发实例化,组织也有职责对微服务的合规性进行审查,而这一切是通过元数据来驱动的。
微服务包含两种元数据:一、微服务本体的元数据驱动规范模型;二、微服务间数据载体的元数据驱动规范。微服务本体元数据信息一般包含:业务信息,功能信息,数据信息,管理信息,逻辑信息。这些信息是基于元数据知识库中定义的元数据规范实例化得到的。微服务间的元数据信息包含,依赖信息,参数信息,过程信息,同样,这些信息也是来源于元数据知识库,用来解决微服务间连接的关系、映射、依赖、整合约束。
上面两幅图所呈现的是实际使用服务时的服务整合情景,不同微服务在不同的业务场景下被依赖和引用的程度不同,每个微服务提供的能力数据由业务复杂程度决定。成千上万个微服务在运营环境下高效地运转,这就要求微服务必须有标准规范。标准规范分为两个方面,一方面是微服务的数据标准,另一方面是微服务的服务标准。而这两种标准都需要元数据定义。
微服务架构模式应用的改变将会波及多个服务。微服务架构模式就要考虑相关改变对不同服务的影响。比如,你需要更新服务C,然后是B,最后才是A,上图是一个场景示例。
一般微服务的改变会影响多个服务联动调整,不同区域、不同团队在进行微服务的开发势必会带来协调上的不便,如上图示意的是一个多微服务通过元数据驱动的多业务协同流程。基于元数据驱动的微服务实现会带来天生的脉络分析优势,从任何一个微服务可以分析出整个调用关系图谱,我们称之为“微服务地图”。
上图是普元数字化云平台中微服务的脉络图示意。
微服务的生命周期有多个阶段,在前期需要与多个微服务协同考虑,上架后也会有多个使用者,在这种复杂的状况下需要管理微服务的全生命周期。
在规划阶段,提供标准元数据规范微服务。在设计阶段,提供连接其他微服务的元数据信息。在开发阶段,使用元数据协助开发测试。在运营阶段,上线后分析微服务的使用情况,并协助维护微服务的变更。最后微服务下架时将微服务的元数据存档,并确保对目前体系不产生影响。
我们在普元数字化云平台中已经规划了元数据服务,用元数据驱动微服务架构。
最后,未来元数据将是微服务的中枢神经。元数据驱动的微服务架构还需要进一步思考和研究,希望能与大家多交流。
我今天的分享就到这里,谢谢大家,欢迎继续关注普元数字化云平台。
关于作者:
王轩
EAII-企业架构创新研究院 专家委员
现任普元软件产品部副总兼大数据产品线总经理,2010年加入普元,全面主持普元大数据产品的研发、拓展及团队管理工作。十年大型企业信息化架构设计与建设经验,曾任中国人民银行核心平台架构师。主持参与了国家开发银行大数据项目、中国人民银行软件开发平台、国家电网云计算平台等大型项目建设。王轩对大数据行业有着深入的研究和洞察,并对企业信息化平台建设,企业云计算及大数据平台建设有着丰富经验。
关于EAII
EAII(Enterprise Architecture Innovation Institute)企业架构创新研究院,是专注于企业架构与业务创新领域的研究机构,致力于金融、电信、能源与政务等行业领域的企业软件架构优化设计与 创新研究,以及分布式计算、服务构件技术、可视化技术、业务流程管理、内存计算、企业移动计算、数据治理等领域的技术研究。