谈集成平台提供的关键能力(8.19)

对于集成平台的总体技术架构设计,服务实施在前面已经很多文章都提到,对于最近的集成平台大项目我们也实施了快2年的时间,系统自上线以来一直运行平稳,峰值每天接口服务调用量3000万次,峰值分钟并发4-5万次,这个数据虽然没法和大型互联网应用中的服务网关性能数据做对比,但是在企业内部的ESB服务总线层面已经是很大规模的服务实施和应用场景。

在我们的SOA服务实施中,一般分为两种类型,一种就是轻量化服务实施,即将ESB产品作为一种轻量的类似API网关的服务总线进行实施,在整个过程中不做复杂的协议转换和适配,数据映射等,只做服务代理接入并增加相应的安全,日志,流控功能。一种方式就是比较重的服务实施,在这个过程中我们会做相应的协议转换,会增加消息服务集成,会增加大数据和大文件传输能力等。

经过快2年的服务实施,今天主要谈在在比较重的ESB总线服务实施下,集成平台能够提供的关键能力。

消息服务集成:这个应该是ESB总线的一个关键能力,本次实施进行了定制和封装,在充分利用JMS消息中间件一对多的分发优势情况下,又将JMS适配为WS服务发布。即实现消费方仍然消费WS服务,但是订阅端全部采用标准的JMS订阅方式进行订阅。这样充分利用了JMS消息中间件的消息管理,1对多,消息重试,消息持久化等各种消息中间件的优势和能力。同时消费方只需要将数据一次性分发给JMS即可,消费方本身不再承受接口服务大并发调用的性能压力。

路由服务:这个本身就是ESB具备的一个关键功能,本次项目实施也大量使用,通过路由服务消费方只需要调用标准的路由服务,由ESB通过路由表实现动态路由。本次我们将路由表配置功能单独抽离,同时对于路由表的更新不再需要对OSB服务进行重新部署,路由表修改后可以立刻刷新缓存并生效。该功能重复发挥了服务位置透明的优势,真正简化了消费方的服务消费和开发工作。

服务位置透明:由ESB总线提供统一的服务目录,所有服务经过OSB服务总线进行代理,虽然在性能上有一定的损耗,但是带来了关键的服务位置透明,在大项目集成中不再存在网状的多个点对点的网络策略的开通,所有的消费方都只需要开通和集成平台的网络策略即可。

关键拦截能力:通过ESB服务总线在进行服务代理后,增加关键的日志,安全等拦截插件,实现了关键的服务管控能力。在日志上能够记录详细的输入输出,安全上在原来已有的服务访问安全基础上进一步增加了动态Token令牌校验,进一步确保了服务访问的安全性。而且该安全性是控制到单个服务粒度。

流量控制能力:在原来的ESB服务总线实施中,我们只实现了服务监控告警能力,而没有实施真正意义上的流控控制能力。而在本次项目中我们实施了关键的流量控制能力。其中包括两个部分内容,一个是对于服务调入的输入输出报文进行数据量控制,避免出现超大报文访问;另外一个就是实现按服务粒度的服务限流熔断能力,对于服务的调用次数,数据量,时长等都可以实时监控,实时统计,只要超过了我们预设的阈值即触发服务熔断,同时服务熔断不同于当前类似API网关提供的全熔断,而是直接对单个异常消费方进行熔断。

接口问题日志:提供完整的服务调用接口日志,包括详细的服务调用输入和输出,方便服务消费方或服务提供方通过接口日志对接口访问问题进行排查,也方便后续的跨系统接口访问日志安全审计要求。

对Http Rest接口全面支持:为了兼容和微服务架构体系,和API网关的对接能力,本次项目实施对Rest接口的服务注册接入能力进行了全面完整。其中包括了Rest接口的代理服务接入,Rest接口和SOAP WS接口服务的自动化映射转换,同一个服务规范可以同时发布为Rest接口和SOAP WS接口服务等。

大文件传输能力:在本次集成平台实施中,我们采用Oracle MFT产品套件来实现了端到端的大文件传输能力,实现了大文件的配置,传输,监控,同时MFT传输还和OSB服务有效集成,实现了文件传输完成后的及时传输完成通知能力。通过文件传输服务,极大降低了OSB总线传输大报文数据的传输压力。

服务报表能力:进一步提升服务报表能力,对于服务报表实际上我在前面有专门分析,本次服务报表提供也是参考上次分析思路提供,可以提供按照组织,按照系统,按照服务类型,按照时间周期的各种组合维度和组合条件的服务统计分析报表,方便对服务运行性能数据进行统一分析。以对服务运行进行持续监控和优化改进。

服务监控能力:在原来仅仅提供服务运行日志监控的情况下,本次进一步提供了服务异常监控,服务基准值监控,对于服务运行次数,并发,数据量和异常的心跳监控,源服务提供的心跳监控,对OSB Server的JVM和内存监控等多方面的监控能力,大屏监控。这些监控将极大的帮助运维人员了解整体平台运行和性能情况。

自服务流程:本次增加了服务接入申请流程,服务订购申请流程,服务变更流程等各种自服务流程,通过自服务流程也业务系统可以实现完整的自服务方式的服务接入和注册。真正将SOA管控治理定义的标准规范和流程等在管控平台中落地并通过系统工作流进行固化,极大提升整个SOA治理管控平台。