vue 分布式微服务_武汉农商行:基于分布式微服务架构的外部数据管理平台

项目背景及目标

随着我行业务的持续发展,各个业务部门都对行外第三方数据提出了大量需求,希望接入如工商、司法、税务、公积金、房产土地等行外数据,用于信贷流程审批、信用风险评级、信用卡批量审批、客户营销分析等多个业务领域。科技部在收集和整合各业务部门提出的业务需求后,计划建设外部数据管理平台项目。

该项目一是实现对外部数据的统一接入、存储、应用和管理,对全行外部数据进行总体规划、统一接入、共享服务,避免不同业务部门重复采购、无法共享的情况,降低全行的外部数据使用成本;二是实现为信贷等业务系统提供外部数据的实时查询服务;三是基于数据仓库实现行内数据和外部数据的整合与共享;四是实现数据可视化展现和自助查询分析功能,提供客户画像、数据展现和自助查询分析,同时为后续信用卡审批、客户关系管理、风险管理、客户精准营销等多应用提供数据支持和展现功能。

项目方案

一、平台技术结构设计

da83f32e1195ee06ab7d34f43ca7034b.png

整个平台基于SpringCloud分布式系统解决方案建设,使用了微服务基础框架,通过分布式框架部署的高可靠性来确保业务连续性,避免单点故障,通过把业务功能拆分为多个微服务进行编排和开发,敏捷应对变更,高效接入新数据源,灵活动态扩展。

外部数据源的接入方式多种多样,包括 Http ,(s)ftp,WebService,restful,kafka订阅、Html网页等,我们通过数据源获取,数据解析,数据持久化三个模块实现对外部数据的采集,并对行内业务系统通过ESB总线提供实时数据查询接口。

外部数据的存储在本地临时存储采用关系型数据库Oracle,后续持久化存储是批量导入行内现有的GreenPlum数据仓库系统,也支持导入行内正在建设的Hadoop架构的大数据平台。

外部数据管理平台中每一笔数据查询交易会以费用流水的形式进行记录,用于后续费用统计和对账;费用流水的记录采用异步线程池的方式以减少对实时查询接口的时间开销。

平台的功能设计如下图:

a832664c358d7e729b3f3aa732b8e0c3.png

二、项目逻辑架构:

b55e11c25a9d5859d568ef56cc2cd5f6.png

1.插件模块

在平台内对插件模块里各个阶段的插件进行选择编排,组成对行内其他系统暴露的数据访问接口。

2.接口权限控制

平台内接口访问需通过平台的用户权限认证,保证行内数据接口的权限隔离。

3.外部数据统一访问接口

平台内所有的数据访问接口按照一致的接口访问规范,形成全行统一数据访问接口,实现全行外部数据的统一访问。当某接口被调用时,平台会首先判断该接口上一次获取的同一份数据的时效性,如果数据在时效性外,平台会依次调用指定的插件,并将插件采集的结果返回给接口调用方,同时存一份最新的数据至数据仓库或者Hadoop平台;如果数据在时效性内,平台会直接从数据仓库或者Hadoop平台里取出缓存的数据,直接返回给接口调用方,而不用再次向外部数据源请求数据。

4.费用统计模块

用户预先在平台上对各个插件或者接口进行定价,当接口被调用时,平台就会以接口的调用者的名义在数据库中记录一条费用流水。费用在定义和记录时,可以根据账本(场景)、用户、时间、插件名称、接口名称等维度进行统计,以便后续查询统计模块中费用报告的开发设计。

5.其他辅助模块

系统监控用于监控平台的运行情况,服务器的负载情况。日志模块用于各种交互日志的记录,还有平台运行时的情况记录。用户管理模块用于用户权限管理,平台菜单管理等等。

创新点

我行的外部数据管理平台采用了微服务架构进行整体系统设计与实现,具备以下创新点:

1.高可靠高可用-保证全行业务连续性

通过微服务的注册发现和多节点部署注册中心,保证了平台出现单点故障时仍然能提供服务支持,保证了全行业务连续性。

2.负载均衡支持熔断策略的接口服务-支持全行7*24业务运行

作为行内对接行外的主要数据通道,承载行内大量系统与外部数据的调用请求,平台通过分布式的微服务架构提供了快速、稳定、高效的接口服务。

3.持续发布、可监控的微服务应用-支持全天候运维监控和发布

针对微服务应用的快速切换,平台提供多策略的部署方式:滚动升级做灰度发布,对外接口保持不变。采用SpringBootAdmin来监控微服务应用。

各个微服务之间是松耦合的,微服务内部是高内聚的,每个微服务很容易按需扩展。

4.通过时效性控制,避免各渠道数据重复获取,有效节约外部数据采购成本

平台将获取到的外部数据落地存储到大数据平台Hbase组件中,并配置化设置数据有效期。当不同渠道想要获取同一份外部数据时,会优先根据数据时效性设置从本地中读取数据,降低不同系统获取同一份外部数据的成本。同时平台能记录每一笔实际查询流水和通过本地数据查询流水,支持与数据厂商的对账计费功能。

5.智能路由策略

对于同一类型的外部数据,用户可在平台配置路由策略,平台会根据策略,来针对接口访问做优先级排序,实现外部数据的最佳调用,提升业务的效率与稳定性。

技术实现特点

该平台基于SpringCloud分布式架构和微服务框架建设,采用分布式解决方案,整个平台由多集群构建,使用去中心化架构,所有的节点都是对等的,没有主从之分,节点通过彼此互相注册提高可用性,如果某台服务器宕机,客户端的请求会自动切换到新的服务器节点,当宕机的服务器重新恢复后,平台会自动将其恢复到服务器集群管理之中,切实保障了整个平台的业务连续性。

该平台内将各个业务功能模块进行合理拆分,编排成多个微服务,在生产上以微服务的形式部署运行,每个微服务可以部署多个实例并注册到注册中心集群中,微服务之间的调用以及接口的调用均通过注册中心进行服务的调用和发现,注册中心可以根据负载情况动态调整微服务实例,包括下线故障实例、扩充部分实例等。

该平台内通过使用负载均衡组件Ribbon提供了多种负载均衡算法,包括简单轮询、随机、加权响应时间和区域感知轮询等,智能的将请求分发到资源利用率低的集群机器,极大提高平台响应速度;同时采用超时和服务容错的组件Hystrix,提供了断路器、调用超时设置和资源隔离三方面功能保障服务,有效避免了第三方服务调用超时或失败导致的服务雪崩现象,提高平台的服务稳定性。

该平台通过使用SpringBootAdmin组件来监控平台里的微服务,它提供了一个界面简洁、服务全面的可视化微服务监控系统,可以便捷的进行在线服务管理、日志管理、线程管理、运行环境管理等,便于运维操作。

项目过程管理

1.可行性分析和需求调研

该项目自2018年12月开始进行业务部门需求调研和可行性分析工作,总计收集了9个业务部门的需求反馈,就项目需求内容与相关技术、业务部门人员进行沟通,经过评审后,最终形成《项目可行性报告》、《立项申请报告》、《业务需求分析说明书》。

2.系统设计与开发

该阶段由2019年3月至2019年6月,完成系统整体设计与开发工作,完成《系统概要/详细设计说明书》、《系统功能说明书》、《数据库详细设计》、系统设计评审等工作。

3.系统测试及上线阶段

该阶段按照系统功能模块编写测试案例,经过单元测试、技术集成测试、业务测试和压力测试等多种平台测试,系统各功能在测试环境中均能高效正常运行,在明确上线生产部署方案后,成功上线。完成了《外部数据管理平台业务/技术测试报告》、《上线评审报告》、《武汉农商银行外部数据管理平台上线实施方案》、《武汉农村商业银行外部数据管理平台_用户操作手册》等文档。

4.项目收尾总结阶段

该平台于2019年8月正式上线运行,目前系统运行效果良好,各功能运行稳定,大大提高了行内系统接入外部数据的效率。对信贷流程审批、信用风险评级、客户营销分析等多个业务领域提供高效稳定的支持。

运营情况

我行外部数据管理平台已于2019年8月完成项目整体上线,项目至今运行稳定,已经在全行推广使用,我行业务部门先后提出基于该平台需要接入的11项外部数据源需求,涉及信贷、风险、营销、股权、党建等多个应用领域。截止目前的试运行阶段,该平台已经逐步体现出分布式微服务架构所具备的高可靠性、敏捷快速应对变更、灵活动态扩展的特点。

项目成效

外部数据管理平台于8月28号成功上线,发挥以下三大作用:

(1)外部数据接入作用:截止目前业务需要已经接入百融、启信宝、人行身份核查、神思、北京数据认证、三泰公司数据共7个外部数据源,正在开发接入的有人行企业信息联网核查数据,后续收到业务需求正在调研的有湖北国税数据、我行股权中心数据、万德资管信息、道琼斯黑名单数据源;

(2)为行内提供数据服务:已经为零售信贷、客户关系管理、身份核查、党建APP等8个下游系统提供实时外部数据服务;

(3)共享数据节省采购费用:上线两个月以来经统计对于收费数据共计查询3040笔,其中245笔数据通过共享复用为行里节省了数据采购费用,后续持续推广后,该成效会越来越明显。

经验总结

我行基于分布式微服务架构的外部数据管理平台通过创新性的使用SpringCloud分布式系统解决方案和Netflix微服务基础框架来建设,通过分布式部署的高可靠性来确保业务连续性,避免单点故障,通过把业务功能拆分为多个微服务进行编排和开发,实现敏捷应对变更,高效接入新的数据源,支持灵活动态的扩展集群。在试运行阶段,该系统运行稳定可靠,能够快速响应业务需求敏捷开发、支持动态调整和灰度发布,这个架构的优势已经逐步体现出来。

另外,该项目依据我行实际需求,通过专业化实施,对全行外部数据进行总体规划、统一接入、共享服务,避免不同业务部门重复采购、无法共享的情况,降低全行的外部数据使用成本,提供高效稳定的外部数据服务,也取得了实际效果;

最后,对于科技人员来说,分布式和微服务包括后续的容器Dock技术,都是我们要及时跟踪和掌握的技术领域,在该项目中我行科技人员进行了实际应用和开发,掌握架构原理和运行机制,为后续更大规模的系统建设培养人才和打下基础。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值