资深Java架构师,GO开发工程师。擅长分布式系统架构以及微服务系统拆分;熟悉ES搜索引擎,熟悉MongoDB,MySQL数据库配置以及运维;熟悉Linux以及Docker相关系统运维。长期从事电商,供应链,ERP,证券系统的架构以及开发
1.信贷风控系统以及业务系统
业务架构
1.负责风控系统架构。风控平台对接规则引擎,实现风控规则配置和灰度流量试跑
2.微服务系统架构演变,实现了系统根据业务领域的微服务拆分以及重构,三期风控系统对接istio,推进向service mesh架构发展
3.风控系统运维体系的建立,业务系统结合K8S容器框架,实现服务发布和上线;构建了应用监控以及数据分库分表等多个底层基础服务设施
技术架构
一.信贷风控系统:
1.基于数据字段映射、规则引擎、实现风控数据计算业务逻辑可配置,包括规则集,评分卡等组件,计算判断条件可配置。风控业务计算逻辑抽象成业务插件,支持动态配置以及部署。
2.风控前端页面组件拆分,支持组件权限配置,订单表单页面支持字段映射配置;同时数据展示对接权限系统,实现数据可见性权限配置。
3.风控系统微服务化架构对接dubbo,基于业务领域拆分订单服务,指标服务,规则服务等;并搭建rocketMQ消息集群,实现服务异步调用和流量切分,并支持分布式事务。
4.风控系统service mesh架构改进,搭建istio初始系统运行环境,重构业务服务调用架构
二.学术搜索引擎:
1.学术搜索是医学文献搜索服务,根据关键词搜索相应文献。系统分为爬虫服务,自动翻译模块以及搜索服务。系统爬取根据任务配置,定时调度爬取任务,同时对接动态IP代理池,获取国外开放文献信息。文献数据根据主键以及业务字段配置分库分表,通过binlog订阅自动建立ES文献索引,并调用自动翻译,文献通过IK分词建立索引。
2.动态IP代理池构建,定时获取开放IP代理资源,并自动测试网络连通性,剔除延迟大的IP代理。
3.结合开源NLP模块,制定相应语义模型,自动翻译抓取的开放医学文献资源;并对接重试框架,自动重试失败的翻译和索引任务。
系统运维体系
1.基于docker实现线上以及测试环境全量容器化,并结合日常研发devops体系搭建私有镜像中心Harbor,构建系统JVM,python以及node基础镜像。
2.系统对接K8S实现应用服务自助上线部署,同时应用配置结合apollo配置集群,自动读取运行配置;应用对接skywalking监控系统,实时监控微服务调用状态
3.基于shardingsphere,搭建底层数据库分库分表服务,基于业务实现数据拆分;搭建elasticSearch搜索集群,用于对分库分表数据聚合查询,同时添加searchGuard组件,加固搜索系统安全;搭建rocketMQ集群,支持服务异步调用以及订单流量切分;结合elasticJob实现系统任务定时调度以及失败任务重试。
2.互联网证券交易系统
业务架构
1.负责证券业务平台的设计以及架构。业务平台对接消息队列集群以及分布式调度系统,实现订单自动重试,全局幂等处理以及流量削峰,排队限流。
2.证券平台根据领域模型划分成订单,持仓,行情,资金结算以及运营几大模块。引入springcloud微服务框架,服务注册对接nacos实现服务发现,微服务治理。
3.证券实时持仓,进行聚合计算并存储结果到业务数据库。
技术架构
一.证券交易系统:
1.订单交易系统对接 IB Gateway券商网关,实时处理用户证券订单。
2.封装底层socket连接,springboot应用启动时自动连接券商网关IB Gateway并结合本地timer实现连接断开自动重连重试,socket连接自动发送心跳校验连接状态。
3.订单接收和处理采用消息队列自发自收的异步处理逻辑,结合nacos服务路由配置实现流量切分和限流削峰。订单服务接收到用户订单,创建订单为已创建待提交状态,发送事务消息到rocketMQ集群;订单应用拉取订单信息,并进行幂等判断,发送订单消息到券商交易Gateway,提交成功后修改订单为已提交状态,同时commit订单消息。
4.订单服务接入sentinel限流框架,配置sentinel集群,针对接口资源的流量控制以及降级熔断机制,保护订单创建以及订单提交等核心业务服务接口。
二.用户实时持仓信息系统:
1.position应用与券商网关Gateway建立长连接实时获取系统用户股票持仓信息,并获取持仓数据信息封装业务消息到kafka消息队列集群,消费者实时订阅持仓消息,进行业务聚合计算,更新当前用户持仓数据。
2.postion应用封装好的底层socket连接保持和券商Gateway的实时通信,启动自检timer保持长连接心跳和断开自动重连。
3.postion consumer订阅持仓消息,生成用户实时持仓信息到redis集群,同时归档聚合计算用户持仓收益信息到mysql;更新redis业务数据的同时调用持仓数据刷新逻辑,更新热数据,剔除冷数据,实现热数据变冷,冷数据边热的数据刷新逻辑。
三.股票实时行情信息系统:
1.stock应用实时获取系统上架股票的交易行情,connector集群订阅实时行情信息发送到kafka集群。
2.consumer数据明细模块实时消费kafka,统一完成数据的过滤、清洗、规范、分组流程,并选择聚合相应数据,并将处理后的数据落库;同时保留股票行情原始数据副本到MongoDB集群中,以便后续数据校验。
四. 事件通知调度系统:
1.证券业务平台对接调度系统,实现持仓快照以及期权事件的分布式任务调度。
2.配置开市之前以及休市之后的持仓快照生成任务,同时配置redis分布式锁,确保任务执行的唯一性。
3.配置期权到期事件自动调度任务,并配置任务重试机制,通知期权到期自动计算到期收益。
系统运维体系
1.部署Sentinel限流服务集群,实现微服务接口限流以及熔断机制。
2.kafka集群高可用搭建,结合zookeeper集群,结合docker容器搭建三台kafka服务器组成kafka集群,实现消息服务高可用。
3.建立高格实时行情平台,实现行情Kline数据服务。