大数据风险控制系统系统
涉及系统:大数据风控报告、决策引擎、指标控制系统、权限管理中台、接口管理中台、日志采集系统
开发环境: JDK1.8+IDea+Mysql8.0+ PostMan+Centos+Jetty+Spring+Vue
运用技术: SpringBoot,Es,FileBeat,Redis,Apollo,Sentinel,Rabbit MQ,Skywalking;
技术架构:
整体系统系统架构部署AB中心,对流量进行切换,根据业务交易量,每一个应用平均部署两台机器,使用Redis集群存储交易缓存,Rabbit集群用于异步处理,消息堆积,单机Mysql存储后台数据,交易完全异步调用,通过回调和主动查询查询交易结果,Apollo用于项目公共配置,Sentinel主要用于项目限流,Skywalking主要用于各个项目调用关系跟踪,FileBeat负责主要交易日志采集;
项目描述 :为什么做?目的分析个人和企业多个维度数据,提供资产分析、信用分析,决定是否给与用户贷款;怎么做?接口中台维护对接各个数据源(包括外部,内部数据),收费计费;指标服务用于分析数据,维护指标,指标表达式计算,数据映射,异步获取指标数据;报告服务,提供个人或者企业分析页面,决策服务通过规则链,自定义表达式,自定义规则评分计算分析指标数据,提供拒绝,通过,人工审核结果;所有交易都通过日志采集在大数据业务平台处理分析,权限中台为后管提供登录,权限控制;
完成功能: 主要完成业务路由,报告,指标抓取,风控整个流程协调处理,任务处理,任务拆解,任务分配;
农村商业银行资金清算系统(Dubbo)
开发环境: JDK1.8+IDea+Mysql8.0+ PostMan+Centos+Jetty,Spring,Vue
运用技术: SpringMvc,Json,Xml,Redis,Zk,IBM MQ,Mysql;
技术架构:
整体系统系统架构主要分为使用 F5 或者(keepalived,nginx 作为前置限流,反向代理高可用集群),应用项目服务主要使用 dubbo 作为项目 front,host,core,batch...各个模块之前实现 RPC 调用,NOSQL 主要采用 Redis 哨兵机制搭建高可用集群,数据库区分于不同市场采用 mysql 则使用多数据源库分库分表,对于有关系的树状结构关系型结构主要使用关系型索引;
区别于应用级别代码,web 平台主要采用前后端分离,采用 vue,css,vue 相关 element ui 回执页面,有合适的 UI 设计,可以编写出需求的页面来;使用 Dubbo 完成微服务之间的调用,项目使用 mysql 分库分表的方式,数据量大的表
采用分区的方式,采用 F5 实现负载均衡,中间件缓存使用 Redis 配合 lua 的方式控制高并发,通过中间件Mq 来完成异步请求,使用 loadrunder 进行高并发性能测试,并对对应代码进行优化,分析性能结果,使用 jenkins 自动化打包,配置 Maven 私服,编写可执行启动脚本 ,web 平台使用 vue,前后端分离。 可以配置单机集群,使用 F5 或者 nginx 实现负载均衡,也可以配置为微服务,多数据源,按照水平分库,垂直分表的模式拆分业务,编写的代码能够经历过压力测试,稳定性测试,数据库限制的情况下 tps 能够到达 700 左右。能够通过配置启动脚本实现 jekins 自动部署;项目采用双活热备和冷备各一套。
城市商业银行资金清算系统(Spring Cloud)
运用技术: SpringBoot,Spring Cloud,Json,Xml,Redis,Zk,,Mysql,Vue;
技术架构: spring zuul、feign,hystrix,nacos 实现注册配置中心
完成功能: 签约,代收,代付,数字证书加签验签;
项目分为 front(前置报文接受),core(业务处理),host(核心记账),batch(文件处理), compare(日终对账)五个微服务模块
完成发送接受报文加签和验签功能;
使用 Redis 和 Lua 完成单日,单月限额限次功能,以及后面的签约功能
数据库使用 Oracel 单库节点,使用 xml 解析报文,xsd 验证报文完整性
在 Tcc 开发模式下,完成多个数据库之间资金操作事务的一致性的问题; f) SpringCloud 使用 Nacos 作为注册中心和远程配置中心