“云”指的是一种技术,是在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种高新技术。当前技术体系已经相对落后,需要利用云上的一些服务,增强现有的体系架构。数通畅联UMC云管理平台就是为了方便企业的软件架构一体化而产生的。
ESB应用集成平台的作用是将应用之间的信息打通,简化IT结构,消除“信息孤岛”,构建数据集成、应用集成的可视化流程,实现数据传输交换、异构系统对接。企业服务总线ESB作为企业信息化建设的“龙骨”,如果不上云,将难以保障服务接口的通用、数据集成、应用集成,因此ESB软件系统上云是非常有必要的。
ESB企业服务总线产品上云,就是将企业的本地ESB系统云端化。帮助企业连接不同的系统,允许部署和维护集成流,改善企业内部数据和应用程序之间的连接和通信,允许租户之间共享实例,消除过载、降低成本并提高使用速度,实现企业业务集成和数据集成。由此可以看出在信息化建设模式中上云是大势所趋。AEAI UMC用于对公司集成套件的云平台开发、部署、管理、运维进行统一管理,与不同产品灵活组合形成多种解决方案的容器化套件以及持续集成、持续交付的CI/CD管理机制共同构成iPaaS平台,通ESB应用集成平台都是数通畅联iPaaS云集成平台套件的核心产品。在项目中也逐渐把产品组合方案部署到UMC产品中,如ESB产品。API管理模块是ESB产品的重要核心部分,集成流程也是基于API管理中的API服务进行创建的。API治理预置样例工程中针对不同类型的服务进行了样例服务模板的创建。本篇文章将介绍如何在环境中开发使用ESB的API管理模块,以及对于API服务管理的规划方向,不同服务类型有哪些特点。软件上云增强了可用性,而高可用则需要进行部署架构的调整,主备、异地多机等。高并发或多服务并行的时候,一致性是一个很重要的指标和难点,CAP理论,一个分布式系统中,一致性、可用性(Availability)、分区容错性,这三个要素最多只能同时实现两点,不可能三者兼顾;程序改造之后,是否满足性能要求,在高并发的场景下,性能(io、通信等)是否扛得住压力;上云同样可以获得一个弹性伸缩的能力,而是否具备此能力,需要从整体架构的角度来进行设计,比如如何服务化,是否需要分库分表,怎样多维度拆分等。产品软件以云服务模式进行部署,除了提供计算能力,还具备开发运行环境,提供包括应用代码、操作系统以及API在内的IT组件,供用户将相应功能模块嵌入软件或硬件,提高开发效率。对于用户而言,这一层的服务可以为业务创新提供快速、低成本的环境。UMC云管理平台可以理解为创建一个中心生态系统,来查看、管理和修改数据、基础设施等操作,实现业务协同和数据共享,并为客户提供更加统一、更加完善的解决方案。云ESB主要包含三个模块:服务器ESB Server、设计器ESB Designer、SMC管理控制台。ESB Server是运行环境,支持K8S容器化部署,SMC管理控制台是部署在ESB Server的Java Web应用,基于AEAI DP开发平台构建的。ESB Designer是基于Eclipse Plugin开发的图形化、拖拽式的设计Web服务、Rest服务以及各类服务流程的构建工具,同时云ESB可以和其它SOA集成产品、数据治理产品灵活协作,组成不同方案,解决异构集成难题。UMC云管理平台支持多租户管控,有效提高使用范围;提供容器在线监视,可查看容器参数、运行状态、容器性能和容器中服务的运行日志;全面支持ESB、DP设计器远程部署功能,通过回写日志,可直观查看容器部署状态,并通过部署结果、错误信息追溯定位原因,便于快速解决问题;支持管理配置多种组合方案、多k8s集群、各种不同的Server,提供典型的平台组合方案管理,简化操作难度;支持不同租户管理的数据授权、权限隔离,严格保证数据安全性,确保各运维人员的权限范围。UMC云管理平台用于对公司集成套件的云平台开发、部署、管理、运维进行统一管理,与由不同产品灵活组合形成多种解决方案的容器化套件以及持续集成、持续交付的CI/CD管理机制共同构成iPaaS平台。整体功能架构如下图所示:1.许可查看:可以查看UMC云管理平台的许可信息和产品实例个数等信息。2.租户配置:租户配置是UMC云平台的核心功能模块,基础配置模块和集群配置模块的数据都是提供给租户配置模块进行使用。配置人员需要在产品搭建初期,把方案、环境、产品容器配置初始化配置好,确保容器正常启动和运行。如果出现问题,需要进行相关调整。同时也有数据处理的功能,对数据库结构和数据进行对比升级。3.平台监视:通过以左树右表的方式,将方案、环境、服务器和容器关联起来,统一监视容器信息,包括状态、心跳、性能等信息4.集群管理:用来管理和监视k8s集群的运行状态,提供一键部署K8S的功能。还可以配置镜像仓库和接入配置相关信息。5.租户管理:配置租户信息,用于租户配置的根节点,并且多租户可以在右上角切换。6.全局配置:配置全局变量和接入,接入模板相关信息。7.基础配置:包括方案管理、产品配置、组件管理、命令管理4部分。可以配置方案、产品和组件的一些基本信息,在命令管理模块可以添加常用命令以及所属模块。云ESB的API管理开发是基于UMC云平台进行的,开发的前提条件需要在UMC产品的租户配置模块新增对应的方案和环境,配置ESB产品所需的组件和数据库信息,完成ESB产品的启动。然后就可在ESB产品中进行API服务的开发与管理。1.产品启动调试:ESB启动之后,对产品启动调试,打开调试端口;2.工程开发部署:创建工程并部署,需要使用本地设计器远程连接云平台的ESB产品;3.开发服务部署:开发对应的服务接口流程,可以通过远程部署直接部署到云平台中;4.API服务配置:SMC管理控制台中进行服务的导入、注册以及代理;5.API报警重调配置:对使用的接口进行API安全重调报警的配置;6.断点调试:在设计器中开发完流程后,在设计器中进行debug断点,当调用服务出现问题时,可以对报错位置进行断点查看报错原因,在UMC中开启调试功能进行断点调试。在查看完毕后,要对断点调试进行关闭。在云ESB上开发服务需结合UMC云管理平台进行开发,首先需要在UMC的租户配置模块中配置产品所需的组件、数据库连接等信息,然后将产品启动,下面主要介绍一下具体配置步骤。2.在新增的方案下添加所需的环境,配置环境的集群和命名控件信息。3.在环境或产品的组件配置标签页面中配置产品所需组件的相关信息。4.在组件配置页面可以配置组件的密码、实例个数等信息。5.在配置参数页面配置产品的数据库连接、redis等信息。6.配置完产品所需参数后需要在基本信息页面启动产品。7.启动成功后,就可以通过接入地址来访问ESB产品。当开发服务接口调用出现问题时,可以在UMC中开启调试功能进行断点调试。1.先选择需要进行断点调试的ESB产品的基本信息页面,点击“启动调试”;启动调试后需要调整访问服务器防火墙信息,添加调试端口,该模块对如何打开服务器的端口进行操作说明。接下来对在整体工程开发、API管理的使用过程进行介绍说明,并对如何创建对应服务进行操作说明。1.启动本地ESB设计器,新建工程,填写对应的服务器连接信息。2.测试连接成功后就可以在设计器中创建工程,并可直接部署到对应环境的ESB产品中。API管理中的API分组模块支持对注册到API服务的新增、编辑、迁移、删除分组数操作,对服务进行分组管理。对于API分组支持权限安全管理,可以根据标准角色、实际角色、用户和群组来授权。API管理中的API标签模块支持新增、编辑、迁移、删除标签树操作,该对服务的安全报警方式进行管理:同样支持权限管理,可以根据标准角色、实际角色、用户和群组来授权。该模块对可在API服务中创建的所有服务类型进行介绍说明,并对如何创建对应服务进行说明。该模块介绍如何创建原生服务,和服务如何配置并调用。首先明确服务类型并在设计器中进行原生服务的创建,再到SMC管理控制台API服务模块进行服务的导入。具体操作步骤如下:1.在设计器中的WS服务分组右键选择“创建Web服务”:2.可以选择不同的服务“WebService”和“RestService”,本文以创建Rest原生服务为例,选择“RestService”服务类型。对应填写服务名称(OrgRestService)和服务别名(OrgRest服务)。选择“sample_organization”表进行单表模式的创建。3.点击“Next”按钮,对于后续配置内容填写如下:4.创建成功后,要对服务先进行初始化,再进行部署。5.选择API服务列表页面的导入,把刚刚创建的服务进行导入,如若导入成功如下:接下来根据Rest原生服务创建配置服务,并配置接口入参出参和配置服务接口的处理器。1.在API服务页面点击“配置”按钮,输入配置服务的编码和名称:并对其服务的入参和出参进行配置,以查单条接口为例,配置服务发送接口的入参为:配置服务接收接口的出参不用配置,其余接口根据实际需求进行配置,这里就不多做介绍了。a)配置服务发送接口的处理器选择的是Rest原生服务中的对应发送接口,拦截器处理器类型选择“Http”类型,再对拦截器配置点击“新增”,具体配置如下图:选择调用地址对应Rest原生服务发送接口调用地址,并修改调整入参的参数值如下。b)配置服务接收接口处理器选择的是Rest服务中的对应服务接收接口,具体配置如下:选择对应服务接收接口调用地址,并修改调整入参的参数值。4.部署配置服务,把需要的接口进行入参、出参以及处理器配置完毕后,来到配置服务的基本信息页面,点击“部署”按钮,对配置服务进行部署即可完成配置服务的创建。5.部署成功后,可以复制服务路径,在浏览器地址栏进行查看对应Web代理服务的服务描述。把其他业务系统的服务到API服务中进行注册,实现API服务管理。本次根据Web原生服务创建代理服务,并配置入参、出参。Web原生服务的创建方法与Rest原生相似,只是对于服务类型选择“WebService”,并选择一个其他数据库即可。http://localhost:9090/ApiProject/services/GrpWebService?wsdl2.然后到API服务列表页面点击注册按钮,把原生服务路径复制到注册服务的服务路径下,如图所示,再点击解析按钮,即可完成WEB服务的注册。3.到该注册服务的基本信息页面,是否代理选择“是”:4.此时会弹出代理信息页面,点击“解析”-“编辑”-“保存”-“启用”即可完成代理服务的创建,具体的入参和出参跟配置服务相似。5.代理服务启动成功后,也可以复制服务路径,在浏览器地址栏进行查看对应Rest配置服务的服务描述。当创建了一个HTTP流程,可把HTTP流程注册到API服务中形成一个注册服务来调用。项目中经常对开发的http流程注册成服务,到SMC控制台的API管理模块进行注册。如果创建好流程后,到API服务页面进行注册,注册编码和注册名称可根据需求调整,HTTP流程的注册地址如下:服务地址:http://localhost:9090/ApiProject/http在API列表页面进行创建接口,操作编码填写http流程的编码值。然后根据不同的流程,配置不同的入参和出参即可。再来到ESB接口的调用样例页面进行调用。预警服务通知主要包含微信预警、短信预警、邮件预警的方式进行预警通知,其中微信预警需要用户关注企业内部的微信公众号,通过公众号去通知用户,微信预警是在服务、集成流程以及普通流程发生报错时可以通过微信进行报警,通过微信公众号将报警消息发送至指定的负责人进行报警。而邮件预警则是通过企业邮箱去预警通知,邮件预警是在服务、集成流程以及普通流程发生报错时可以通过短信进行报警,通过邮件将报警消息发送至指定的负责人进行报警。短信预警则是通过外部提供的短信服务包去预警通知(需要企业购买短信包),在服务、集成流程以及普通流程发生报错时可以通过短信进行报警,通过短信包将报警消息发送至指定的负责人进行报警。1.在设计器中选择“RestService”服务类型,基于服务模板进行Rest预警服务的创建:2.创建后先初始化服务,再部署。下图即为预置的预警服务。5.可配置其入参数据,方便调用查看,入参信息如下:6.API服务的安全报警配置,可在API安全模块进行失败重调报警的配置:配置完毕后,该接口如若出现失败会进行重调,累计四次调用失败后即会进行报警。API服务的调用有两处,一处是在API服务模块中,点击需要调用的接口基本信息页面中“调用样例”,来到调用页面,直接点击“调用”按钮,就可以得到出参信息。第二处则是API超市模块,在此处可对于API服务不同方式的管理调用。API分组查询,以API分组方式对服务接口进行归类;API应用查询,以应用系统方式对服务接口进行归类;API调用查询,以调用系统方式对服务接口进行归类。调用方式与调用样例页面一直。如果在API服务中,对于服务的启用日志状态选择为“是”,位置如下:那么在SMC管理控制台中还可对服务进行实时监控的查看,以及报警邮件提醒,服务调用四次失败后进行了一次邮件报警,具体页面显示如下:服务流程的实时监控查看,对可立即对报错内容进行查看:点击“刷新拉取”,可把监控中的调用记录拉去到服务运行日志表中查看,根据报警重调配置,调用失败后重调次数为3次,调用4次失败后会进行报警,所以调用该服务接口一次错误后,服务运行日志页面如下红框所示:接下来对开发调试的具体步骤要点进行介绍说明,并对断点调试后关闭的方式进行介绍。1.在设计器中,调整完防火墙后就可以在设计器中进行断点调试。4.点击“apply”,再点击“debug”,即可等待debug断点,下图为断点成功;在断点调试过程中可查看对应日志信息,来监控服务的调用是否成功。通过本次对ESB云上部署开发,让我感觉到UMC产品的重要性,使用UMC云管理平台开发也可以很方便、省时和省力。最后将从产品上云的益处、上云特性、心得总结三个方面介绍在云ESB上开发API服务的体会。UMC云管理平台对上云的软件服务进行应用监控、性能容量评估、动态伸缩,保证云服务的稳步扩展和正常运行。UMC云管理平台连接应用、协同业务,实现业务集成,支撑业务中台;通过连接应用、共享数据,实现数据集成,助力数据中台。软件产品上云可提供弹性的IT资源,实现资源按需购买、灵活调度以及方便系统的扩容和缩容;实现数据的集中,企业可以存储更多的数据,方便数据共享,让沉积的数据产生价值;产品架构可复用、统筹规划、统一建设,可减少代码的重复开发,提高研发效率,缩短业务开发周期。架构的可复用也有利于系统的规模化运维;企业数据、IT架构整合提高系统能力以及更好地支持业务创新,整合主要体现在数据整合、应用整合、SOA等方面。通过在项目上对云上ESB产品的部署开发工作的培训,越来越感受到UMC的便利之处,比如部署产品、动态扩容、快速升级补丁等。之前需要花费很久的时间来查找,并用linux命令一步一步地来完成的事情,现在都已基本开发完善。在学习使用UMC云管理平台进行ESB产品的部署与开发部署的过程中,自己的技术能力及意识形态等多方面都得到了很大提升,并且有了很多感悟,后续还会对UMC产品的其他功能进行深入学习,路漫漫其修远兮,吾将上下而求索。