基于微服务架构的企业用户管理中心实践探讨

(整期优先)网络出版时间:2020-05-14
/ 2

基于微服务架构的企业用户管理中心实践探讨

周翮翔 朱力超 郑勇 卢浩田

成都飞机工业(集团)有限责任公司

摘要:随着时代的发展,科技的进步,计算机技术已经逐渐的应用在了我们的工作与生活中。通过使用计算机技术,我们的生活更加舒适、便捷,而工作也更加高效。为了可以进一步提高工作效率,我们逐渐提出了微服务架构这一概念,并希望可以通过微服务架构更快、更准确的完成模型化业务的工作。下面,我将就基于微服务架构的企业用户管理中心实践进行详细论述。

关键词:微服务架构、企业用户、管理中心

一、背景与挑战

随着信息时代的到来,我国许多企业的用户管理中心均开始以数据的方式存储企业中的用户信息。数据信息的存储方式不但具有简便、存取速度快等优点,同时还具有存储数量大的优点。然而,随着大数据时代的到来,传统的数据存储方式已经不能在满足庞大的数据信息存储,因此我们提出了微服务这一理念。与传统的服务架构相比,微服务更加简洁、轻便。例如,企业中所使用的传统服务一般均是由前端通过接入层后分发到后端的服务器所实现各种功能的。这种传统的服务架构最大的优点是其每个模块均有单独的负责人,若是在信息处理中出现问题,企业可以及时的找到相关的负责人。同时,这种传统的服务架构还可以在接入层中加入各种的服务监控、保护措施。然而,这种传统的服务架构由于其后台是一个庞大的单体应用,因此极难拆分为一个个子服务。同时,若是该服务进程中出现了故障,那么整个服务架构都将出现故障,从而影响企业的正常运行。为此,我们研发了新型的微服务架构。微服务架构不但可以轻松的实现对企业中用户数据的管理,同时还可以有效的降低服务进程整体瘫痪的可能性。虽然,微服务架构使得企业用户数据信息的管理更加轻便、合理,但在微服务架构的运行过程中也出现了一系列的问题,而这些问题正是微服务架构发展过程中所面临的挑战。首先,微服务架构的发展面临着错误排查的挑战。由于在使用微服务架构时,一次简单的服务请求会经过许多的服务器,因此我们无法快速、直接的找到错误发生的位置以及发生错误的原因。此外,在日志分析以及基础建设方面,微服务架构的发展也面临着一定的挑战。在日志分析方面,由于微服务架构工作日志存储较为分散,且工作日志数量极为繁多,因此在进行日志分析时,我们会耗费许多的时间。而在基础设施建设方面,微服务架构还需要可以加入监控与酱爆雄,并设置独立的数据库服务,从而方便调用链路分析以及工作日志汇总等工作的进行。

二、什么是微服务架构

微服务架构是一种新型云服务技术,其可以将一个完整的服务进程分解为多个不同的独立服务。并且,微服务架构还具有反馈迅速、构建更快、可靠性更高等特点。然而,至今为止我们对于微服务架构均没有一个确定性的定义,但所有的微服务架构均具备以下几个特征。首先,微服务架构顾名思义其是一个极小的应用,但由于其独立性的服务,微服务架构也可以帮助我们完成许多的工作。这里所提到的小应用并不是指其所占内存较小或是代码行数较少等,而是指微服务架构功能较为简洁。此外,微服务架构还具有运行在独立进程中的特征。微服务架构的每一个服务均可以在不同的操作系统中运行,而这也就代表了我们将不同的服务分配至不同的终端,从而提高企业的工作效率。同时,微服务架构还具有轻量级的通信机制。在微服务架构中嵌套有JSON、XML等多种轻量型数据交换协议,因此通过微服务架构,不同的服务之间可以轻易的实现数据交互。微服务架构还具备有松耦合的特征。松耦合是一种基于消息的通讯系统,其主要特点是数据交互更加简便,无需过度依赖远程与客户端。微服务架构与松耦合的特点类似,其可以使服务在部署与运行方面采取独立的状态,从而更加便捷、轻松的完成各种工作。

三、微服务的优势

相比于传统的服务架构,微服务架构大致具备以下几点优势其分别是异构性、独立测试与部署、按需伸缩、错误隔离性以及团队全功能化。首先,微服务架构具备异构性的特点。微服务架构的异构性是指微服务架构可以针对不同的工作,选择不同的技术与方法,从而更好的完成相应的工作需求。企业所使用的传统架构一般属于单块架构,单块架构的系统在运行过程中很难加入新的技术或框架,而这将会导致随着系统的不断运行,系统将会暴露出各种各样的问题。但微服务架构则可以随着系统需求的不断增加,引入各种新型的技术以及架构,从而更好的完成不同的工作。第二,微服务架构还具有独立测试与部署的特点。微服务架构中的不同服务均是完全独立的,因此在对该服务进行修改以及完善时仅需要关注其本身。这有效的降低了微服务架构后期修改与完善的难易程度。第三,微服务架构还可以按需伸缩。传统的单块架构系统,由于其是一个整体,因此无法对某一个功能或模块进行改进以及完善。而微服务架构中的模块与功能均属于独立服务,工作人员可以在后期根据工作的需要对其进行修改以及扩展。第四,微服务架构还具有错误隔离性。相较于传统的单块架构,微服务架构可以在该系统出现问题时,及时的将具有问题的模块进行隔离,从而降低企业的损失。但单块架构由于其系统属于一个完整的整体,因此在某些模块发生故障后,工作人员仅能及时的发现问题,但却无法将其隔离。在微服务架构的系统中若某一模块发生了故障,工作人员可以在不影响其余模块与功能时将其停止进行维修。第五,微服务架构还具有团队全功能化的特点。众所周知,团队中的成员均会有不同的分工以及不同的擅长方向。因此,若是可以充分利用团队中不同成员的特长,将有可能提高企业的工作效率以及工作质量。而基于微服务架构的系统由于其不同模块与服务均是一个独立的个体,因此我们可以安排团队中的成员独自负责一个不同的方向,从而大幅度加快企业的工作效率。

四、基于微服务架构的企业用户管理中心实践

本次基于微服务架构的企业用户管理中心实践所使用的是stencil模板。Stencil模板是一个独立的Ruby代码工程库。通过这一文件模板,我们可以轻易地完成系统的相关配置,并在系统中加入相应的监控服务。而此次实践中所使用的代码生成工具也是stencil模板所配套的stencil代码生成工具。其可以极大的碱化微服务架构的创建流程,并帮助我们逐步完善微服务架构的相关代码。同时,本次实验是基于bamboo服务器所进行的。Bamboo服务器是一款持续集成服务器,其可以帮助我们完成微服务架构的测试阶段并将其打包为RPM包,进而发布到服务器中,同时bamboo服务器还可以快速的将其部署到验收环境中。在完成微服务架构的搭建后,我们使用了Groovy on Grails开发工具将其部署至相应的云环境中。而使用Groovy on Grails开发工具是由于其可以使用户通过浏览器直接访问云资源,同时其哈可以为用户提供相应的接口,从而完成可视化的相关操作。

五、结束语

综上所述,微服务架构是一种新型云服务技术,通过在企业用户管理中心使用微服务架构可以有效提高工作人员的工作效率以及工作质量,同时还可以从一定程度上简便系统的后期维护与修改工作。此外,微服务架构所具备的异构性、独立测试与部署、按需伸缩以及错误隔离性与团队全功能化等优点也可以极大的帮助工作人员顺利的完成其相应的工作。而为了可以在企业用户管理中心使用,我们首先需要对stencil模板具有一定的了解,同时还需要了解、熟悉stencil代码生成工具以及bamboo持续集成服务器与Groovy on Grails开发工具的使用方法。相信随着微服务架构在企业用户管理中心的应用,企业用户的数据管理工作将更加便捷、科学。

参考文献:

[1]吴旭君.基于Spring Cloud微服务架构的数据服务系统的实践[J].计算机产品与流通,2020(03):93.

[2]陈立.微服务架构在企业信息系统建设中的应用[J].通讯世界,2019,26(09):37-38.

[3]马恒. 适用于微服务架构的企业应用部署平台研究[D].郑州大学,2018.