APP下载

微服务系统的可靠性分析及关键问题

2018-02-26毛润菲

电子技术与软件工程 2018年14期
关键词:微服务故障诊断可靠性

毛润菲

摘要 微服务是针对单一业务建立的、运行在独立的进程中的功能单元;一组微服务有机结合就形成了微服务系统。微服务之间利用轻量级的交互机制进行通信,有灵活的技术类型、独立的组件部署、持续的可交付能力、强容错能力、可以按需扩展;大大提升了网络资源的利用率,但存在着可靠性、故障诊断、服务流程组合等问题。本文将简析微服务系统的可靠性分析、服务流程组合技术、故障诊断方法;希望能对以后微服务系统的发展起到推动作用。

【关键词】微服务 微服务系统 可靠性 服务流程组合 故障诊断

1 微服务相关概念和起源

微服务的“微”是微小的意思,“服务”区别于系统是指用户所能感知到的最小工作单位,是一个独立的功能单元。微服务系统是一种热门的软件架构,可以将复杂的软件应用工程分解为一个个小的子任务即微服务,从而实现按需扩展、灵活构建软件。

微服务系统和软件工程密不可分,软件工程的概念自1968年提出以来,已经发展出来一系列的研究工具、实现语言、方法和完善的理论了。但是因为软件顽固的不可见性、不稳定性和复杂性,急需有工具可以实现系统需求与系统详细设计之间的过渡与交接,这时候软件体系结构就出现了。早期的计算机资源是集中分布在一台机器上,奠定了单体架构的基调。单体架构由多个子服务组成,多个子服务是一个整体,由于不能对每个子服务单独扩展,限制了计算机资源的利用率。时代的选择孕育了微服务架构,独立的微服务可以有机地组合为微服务架构,每个微服务各司其职、互相交流、自动独立部署、可以单独被扩展。

2 微服务系统的可靠性分析

目前,网络软件主要是由微服务系统来展现和表达,可以实现网络资源的集成和分享,十分符合现在的分布式计算机网络的特点。但是异构、协同、动态的网络可能随时出现各式各样的异常,使得微服务系统的可靠性大大降低、网络服务质量大打折扣。要解决微服务系统的可靠性问题,我们应该借助“自适应”调整的概念与应用。在网络超出了软件设计的控制范围时,需要系统具有自适应动态调整的能力,从而迅速、高效率地解决各种异常。其实就是通过数学模型、统计方法、动态数据以及依赖关系等进行的综合计算与预测评估,来进行可靠性的控制。

3 服务组合流程技术

以太网中存在小粒度服务和大粒度服务,一个小粒度服务是实现一个服务模型描述的需求规则约定,一个大粒度服务能够实现多个服务模型描述的众多需求规则约定。互联网中服务流程的目标是实现可靠性最优,小粒度服务在同粒度的服务组合中易实现目标,而大粒度服务模型通过构建最优大粒度服务流程模型同样可以有效解决问题,最优大粒度服务流程建模是一个NPC问题,其求解过程非常复杂。至今的研究中已经有大量基于某具体服务质量最优的服务流程组合方法,但是条件是基于同一类型的小粒度服务。然而大家看问题都是从不同的角度来观察分析,自然会从很不一样的粒度上观察分析同一个问题。这种需求就需要根据大粒度服务模型来解析问题,由于有大粒度服务流程组合解决多个服务模型,可以大大地减少提供商的沟通成本、减少候选的服务集合的数量、降低了提供商的技术差别问题率等等。结合启发式求解算法、云计算技术可以得到建立最优大粒度服务流程组合模型问题的参考定义。

4 微服务系统的故障诊断方法

微服务将传统单体架构的所有组件独立开来,得到许多组件,组件的关系复杂,各软件更新率高,大大增加了故障发生的概率以及诊断的难度。而且由于组件的依赖关系紧密,一个服务组件出故障时,会影响其他服务组件,出现泛洪现象,最后令服务质量下降。因此,找到有效的故障诊断方法、及时定位出错原由,是微服务系统的关键问题之一。故障起因很多,设置人工报警准则无法适应复杂的组件依赖关系,针对该问题,提出一种基于执行轨迹监视测量的微服务故障诊断方法。利用树形结构,算出差异数值,针对差异值即异常数值,调用主成分分析法最终得出诊断结果。

5 微服务系统的关键问题

目前微服务系统存在三个方面的问题亟待解决:

(1)早期针对单体架构的多实例部署的可靠性分析方法不适用于微服务系统,急需研究出解决微服务系统的多实例部署的可靠性的方法。

(2)随着微服务系统的发展,针对单一的服务流程的可靠性分析方法已经不能满足网络服务,所以预估多业务流交互的微服务系统的可靠性也是一个关键问题。

(2)实现自适应调整的最直接有效的方法之一就是服务流程重组。根据服务流程模型和大力度服务候选集合的基础组合服务流程也是一大难题。

6 结语

未来,微服务系统定会应用于生活的各种网络业务中,我们必须认识到微服务系统强大的优越性,也需要了解目前该系统遇到的关键问题:可靠性较低、故障诊段与问题定位、系统流程组合难题等。将来还有许多工作需要突破、完善,一步步走向理想的微服务系统。希望本文对微服务系统的简析可以对下一步工作起到推动作用。

参考文献

[1]开金宇,面向可靠性的微服务系统自适应调整技术研究[D].上海大学,2016.

[2] Antonia Bertolino. Software TestingResearch: Achievement s, Challenges,Dreams. FOSE 2007: Future of SoftwareEngineering, 2007: 85-103.

[3]Current Solutions for Web ServiceComposition. Nikola Milanovic,Miroslaw Malek. IEEE InternetComputing.2004.

[4]Dynamic Service Composition: State-of-the-Art and Research Directions.Dipanjan Chakrabort, AnupamJoshi.2001.

[5]張花萍,基于业务流程执行语言的服务组合技术研究及实现[D],华中科技大学,2007.

猜你喜欢

微服务故障诊断可靠性
可靠性管理体系创建与实践
5G通信中数据传输的可靠性分析
微信公众平台在医院图书馆的应用现状调查
从单一模式系统架构往微服务架构迁移转化技术研究
因果图定性分析法及其在故障诊断中的应用
基于可靠性跟踪的薄弱环节辨识方法在省级电网可靠性改善中的应用研究
可靠性比一次采购成本更重要
基于LCD和排列熵的滚动轴承故障诊断
基于WPD-HHT的滚动轴承故障诊断
高速泵的故障诊断