李兵元 ,张文哲 ,赵春雪 ,陈琪玮 ,司长征
(1.新疆油田公司数据公司,新疆 克拉玛依 834000;2.航天科技控股集团股份有限公司北京分公司,北京 100070)
目前,我国信息技术的发展已经进入一个新的阶段,石油化工企业生产过程中,往往会涉及多项工作内容,为了可以使生产需求得到有效满足,企业方面引入自动化生产系统来进行生产管理是非常有必要的。从现阶段我国石油企业内部运行的情况来看,很多大型企业已经部署了100多个应用系统,随着应用系统的规模日益扩大,应用水平日益提升,系统功能模块之间的边界划分开始逐渐变得模糊,导致系统功能较为复杂,但是如果仅仅依靠单个独立的系统又很难满足石油化工企业内部生产运行的需求。因此,现阶段急需提升软件的复用性,从而提升企业生产的质量和效率。微服务构架是一种高效的软件复用方式,并且应用范围正在不断扩大,将其全面落实应用到石油化工企业的业务工作中,势必会对企业的稳定运行和发展起到促进作用。
微服务架构属于管理信息系统的一种,管理信息系统的建设有较长的一段历史,最开始是为了可以解决企业内部信息管理过程中所存在的问题,逐渐发展出ERP系统。随着科技水平的不断提升,办公室业务操作自动化水平有了很大的提升,又发展出了CRM系统[1]。由于这些系统的开发时间往往不一样,这也就导致了这些系统的开发结构各不相同,随着时间的推移,各系统之间的集成与新系统开发开始面临一定的困难。2014年,微服务架构理念诞生,有效解决了各种异构系统的集成问题。为了可以有效解决企业中业务系统运行过程中相互依赖以及界限模糊的问题,研究出一种单一化的解决方案,并且形成了一套相对简洁、高弹性的系统构架,也就是微服务构架。微服务构架可以灵活地运用虚拟容器的概念实现将单一的应用隔离。通常情况下,由于虚拟容器采用了Docker等技术,这也使得自动化集成以及部署、运维等工作在开展的过程中变得更加容易,同时也成功解决了异构系统的问题。对于微服务构架来说,在实际运用过程中应该注意将不同的应用进行微服务化,这样一来也实现了对系统业务的自动化分配以及部署[2]。
在进行微服务构架设计的时候,要注意坚持以下原则。首先,单一职责原则。对于此项原则来说,其主要是指每一个应用或者服务只能够完成一件事,从而精力得到集中,投入到一个特定的逻辑当中。例如,对于CRM系统来说,其主要是负责对客户的相关数据进行采集、分析。其次,独立性服务原则。独立服务是每一个微服务系统开发所遵循的重要原则,微服务是一个独立的开发以及组建过程,同时还会涉及测试、部署、运维以及系统优化等等环节,与独立软件相类似。最后,通信轻量级架构原则。微服务不同服务模块之间的通信应该是轻量的,不能使系统资源耗费过多。同时,通信需要跨越语言以及平台[3]。
从微服务系统在石油化工企业的应用情况来看,其整个构架分为三层,包括核心层、集成层和前端应用层。首先,对于核心层来说,其主要是为了实现各个服务,同时,也对运维监控手段的应用进行监督,从而保证系统的整体运行稳定性,降低了在运行过程中受到外界因素影响的可能性;其次,对于集成层来说,其主要是将各个业务系统所提供的服务结构进行集成,这样一来可以形成统一的服务标准,保证为应用层提供更高水平的服务[4];最后,对于前端应用层来说,其主要是通过服务路由以及负载均衡等手段来实现对服务项目的开发,随着我国信息化水平的不断提升,服务项目的开发也变得越来越深入。现阶段,石油化工企业内部应用微服务系统还存在一定的问题,想要有效解决这些问题,可以尝试从以下几个方面入手。首先,应该注意对企业内部各个系统的功能进行定位,各个系统的功能往往存在较大的差异性,对各系统功能进行精准定位也可以使系统相互独立性得到提升。同时,还应该注意对业务系统对外提供的服务进行标准化。其次,要建立起统一的服务注册中心,当其他系统需要进行服务调用的时候,可以在注册中心的服务目录当中准确查找,这样一来也在很大程度上提升了服务匹配的效率以及准确程度,有利于提升微服务架构运行的整体稳定性。
对于服务接口层来说,各个系统都会使用Restful接口来进行调用,这样可以使得异构系统当中存在的问题得到有效调节,同时也使得不同平台以及不同开发语言之间存在的屏障得到有效消除[5]。同时,还可以使用Redis来对服务调用进行缓存,这样一来也提升了整体运行工作的效率。此外,微服务系统当中的日志系统支持海量日志的读写,这也使得信息的储存以及分析变得更加容易,效率也有了很大的提升。使用Docker作为容器对各个服务进行独立部署,并为应用提供了隔离环境,使得文件系统的变化情况得到了有效监督,系统配置操作的综合独立性也有所提升。
对于微服务系统来说,其在石油化工企业的落实应用有很多优势,在线状态服务是最明显的体现之一。微服务系统自身具备较强的实时性以及动态处理能力,微服务的业务逻辑与传统的石油化工企业内部业务运转系统的运行模式还是存在很大区别的,微服务的业务逻辑相对简单,并且在运转过程中对系统资源的耗费也较为有限,这也使得微服务系统的整体运行效率较高,可以实现实时在线服务[6]。
微服务系统具备易于研发的优势,同时,系统具备单一、轻量以及独立的特点,微服务系统还可以实现对业务数据以及代码参数进行分析以及复用,自身具备较高的自动化能力。此外,微服系统还具备技术多样性的特点,随着现阶段我国信息技术水平的不断发展以及提升,微服务系统在石油化工企业的应用过程中体现出了跨越语言以及跨越平台的能力,使得系统的整体运用范围得到了提升,因此,开发微服务的时候并不是局限在某一个特定的平台或者一种特定的语言上。无论是Java还是Node,只要满足开发条件就可以实现服务构架的建立,并且可以实现对数据以及参数的系统化分析,更加方便了数据信息的相互替换,这样一来也降低了开发成本。
对于石油化工企业而言,在进行生产业务操作的时候,往往会涉及多个生产环节,在生产的过程中很可能会受到多种因素的影响,应用微服务系统可以使这种影响得到有效降低。主要是因为微服务系统具备易于升级以及修改的特点,微服务系统的一个服务系统出现bug之后,并不会影响到整个系统的运行稳定性,因为微服务具备轻量级特性以及接口明确特性[7]。同时,微服务系统还遵循独立性的原则,当bug修改完成之后可以在第一时间进行集成操作。对于微服务系统来说,在石油化工企业生产操作的过程中,一旦受到外界因素的影响,或者是其中某一个服务出现bug,可以及时报警警示,这样一来问题会在第一时间被发现,这也使得问题可以得到及时的处理。
综上所述,随着我国社会经济水平的不断提升,石油化工行业的发展也已经进入一个新的阶段,其发展规模在不断扩大,我国石油化工行业呈现出一片繁荣景象。传统的石油化工企业业务系统在实际应用的过程中往往存在各系统服务界定不明确的情况,这也就导致了服务系统自身的独立性较差,在实际运行的过程中也经常会出现相互影响的情况。微服务系统的应用与现阶段我国石油化工企业发展的实际情况更加符合。随着石油化工企业发展规模的不断提升,各类信息的庞杂性也在不断扩大,对其进行高效的分析以及整理往往是存在很大困难的。随着企业信息系统构建的不断完善,微服务的运用也逐渐深入,使得石油化工企业系统重复以及系统构架混乱的问题得到了有效解决。随着微服务的独立部署,企业多个业务部门的实际需求也得到了有效满足。