整体架构图

data-azkaban-web 前端页面
data-azkaban-web-back 后台数据控制端,执行状态刷新等等。
data-workflow-mgmt 定时任务基于springboot的Scheduled定时任务,本质他是单线程。

问题1:为啥自己封装定时任务
azkaban现在存在的问题是 基于project调度,不能跨project调用,而且基于project调度上传文件太多了,依赖关系复杂。

问题2:自己封装除了解决azkaban外,其他好处
依赖flow,依赖外部sql特殊化定制,到某个时间才能执行,文件满足等等

问题3:咋样解决规划任务状态的
默认值0,
初始值1,从批次表导入到执行表的状态
执行中2,执行中 判断条件是只要执行了azkaban的接口,有正确的返回值,就算。不异常,如果执行flow接口异常,直接设定为失败,并且把azkaban返回的失败状态和失败描述写入自己的表对应状态中。
执行成功3,不断的调用查询flow状态的接口,回刷状态。
执行失败4,不断的调用查询flow状态的接口,回刷状态。
跳过5,自己本身业务需求和azkaban没啥关系。

问题4:自动起批咋样实现的
启动一个定时任务,从批次表把数据导入执行表,不断的循环遍历,满足依赖关系的条件可以自动调起来

问题5:跨机房切换
汇天 朝阳门 合肥 一地2中心,异地灾备
需求1:汇天掉起来,朝阳门也会自动掉起来
需求2:汇天某些数据需要依赖朝阳门的等外部接口数据,可以提供sql给进行判断,sql状态的返回值规定好就行。

问题6:异常处理
一个flow失败了,我们有重跑机制,强制重跑,立马调用flow执行接口,这个flow状态设定为2执行中,如果他满足依赖也就会重新跑一次,加入重跑次数超过3次,我们会告警,有 histroyflowid字段 每次调用都会往里面添加一个 的 flowid1,flowid2,flowid3。超过3次,人工干预。
加入有个需求我想跳过这个flow,不执行也是可以的。这属于状态stauts的状态划分,java判断条件的时候执行flow直接让他过就行了。

project -> flow -> job 我们把flow调度抽取出来,当做一个原子性,因为azkaban提供了基于flow单独调度的接口,我们可以在上面做很多事情,自定义flow依赖,所以我们定义2个表,批次表,执行历史表。

批次表里面可以有很多东西 flow名字,依赖关系(依赖flow,依赖外部sql特殊化定制,到某个时间才能执行,文件满足等等) 这需要我们前一天启动就把依赖图弄好。
执行历史表,flow名字,依赖关系,执行状态

后来又增加一个需求,在一个group概念,一个group执行完后,我们再执行其他group。 增加一个group批次表,group执行表。 只有group之间的依赖没有他们依赖,其他执行逻辑和flow执行逻辑一样。

项目一
总项目名称:中信信用卡核心升级应用&数据服务系统
总项目说明:中信银行信用卡StarCard新核心系统,通过构建新一代分布式云架构,并在近线数据库中采用了分布式集群(HBASE+ES+HIVE)解决方案,搭建出了PB级数据存储能力,为中信银行信用卡业务提供了秒级时延的海量数据实时查询,也提供了数据在不同场景下横向关联的穿透能力,由此为客户服务、营销支撑、产品服务、信贷风险、运营支撑等业务提供了不同时效、复杂场景的数据服务能力。
项目1周期:2019.02-至今
软件环境:azkaban,mysql,springcloud等
开发工具: eclipse+jdk+maven
项目名称:数据组hive离线调度产品。
项目概况:基于大数据离线调度产品azkaban二次封装的产品。
需求说明:大数据离线调度产品azkaban功能是基于一个Project进行工作流顺序执行的。不满足我们的需求,我们需要个性化调度,还能个性化维度统计每天跑批时间,还有一些异常处理功能。
功能包括:1)批次调度,批次之间依赖调度
2)批次里面按照flow依赖调度
3)批次里面flow调度触发条件sql,时间,文件等满足条件
4)监控中心 重跑,中止,跳过等等操作
5)数量统计每天批次,flow成功失败跳过数,耗时多少等等。
6)自动化起批
7)主备机房切换调度
8)调度系统高可用设计
责任描述:1)springcloud环境搭建,2)核心需求分析,产品设计,3)代码规范,核心代码书写,4)生产变更维护

实时查询架构分析,
因为现实数据PD级别数据考虑,如果数据全部走goldendb查询压力太大,大部分数据查询只需要准实时查询100ms左右就可以,所有做了数据同步,那为啥需要es做二级索引,因为如果直接走hbase查询rowkey效率是够高,但是rowkey组成覆盖的字段比较少,所有先根据其他字段查询到rowkey再进行查询habse,有点像mysql索引,先普通索引,再查询主键索引。ps:一切脱离业务的技术都是耍流氓。

接口优化规则
问题1:有个授权接口压力测试300ms没有达到100ms的要求
方案1:经过分析日志时间分析,是一次性从es拉去的数据过多,再list循环遍历查询hbase次数过多导致的,因为数据之间没有关联性,我们用了countdownlatch进行分组查询,效率直接提升到100ms以内。扩展1:当然如果要实时查询2ms以内不能这样操作,大部分核心需求不宜过多,查询的字段应该都在索引范围内,甚至主键索引范围内。有些需求可以采用批量提交大事务的方法。

问题2:有些业务很类似,你接口咋样设计
方案2:泛型+接口,深交所交易终端现货交易,etf交易(10多个类型相同的业务相同的数据)就是这样做的

问题3:hive做报表有啥好处
方案3:hive是基于大数据分布式的,原则上只要机器够多,数据处理效率基本差不多,但是他启动时间过慢,查询1000万数据和查询几亿的数据效率一样,hive一般都需要做分区,提高查询效率,所有信用卡这边分区Partition 用的 卡号+会计日 (划分原则,大部分业务基于这2个字段,进行where过滤的条件),原先也用过基于spark调用hive的方式,最后发现经常oom,所有最后大部分业务基于 shell 执行 hive -f hive -e 命令执行。有些业务比较复杂,我们采用临时表进行业务跳转,还有查询字段过少也是个好方法,where过滤第一考虑。 hive能生成 text 文件,csv等等文件。文件在金融交易很重要,是和外部业务交换数据的重要途径。shell脚本调用hive必须执行可以重跑,进而满足调度失败重跑机制。

功能4:我想知道所有被调用的shell脚本中hive所有被调用的表
hive-parser 可以把sql转换成为有规律的树,从而分析 from-table to-table 及其字段,从而分析整个批次被调用表的和字段。进而有效的控制分析表的利用率。

项目2周期:2018.04-2019.02
软件环境:springcloud,kafka,elasticsearch,hbase,hive等
开发工具: eclipse+jdk+maven
中心信用卡核心数据服务系统设计与研发,中信银行信用卡中心将新信用卡核心系统分为账户处理系统、授权处理系统,大数据服务与应用系统,将大数据平台引入到信用卡核心系统中,通过业务读写分离模式让大数据平台进行查询时加快响应时间。
功能包括:1)基于(es+hbase)实时授权服务查询
2)hive离线报表
3)kafka数据外发
责任描述:1)负责springboot,spring cloud,zipkin微服务体系,elasticsearch,hbase数据库的建模设计, openshift平台环境的使用及部署微服务,信用卡核心系统运营支撑平台的技术体系架构。

中信信用卡核心升级应用数据服务系统相关推荐

  1. 架构设计:数据服务系统0到1落地实现方案

    本文源码:GitHub·点这里 || GitEE·点这里 一.基于业务 数据服务通常有很多种业务模式,也就导致系统的架构与业务都会很复杂,不同的业务都具有自身的能力和复杂度,数据管理本身就是一件不容易 ...

  2. MaxCompute,基于Serverless的高可用大数据服务

    2019年1月18日,由阿里巴巴MaxCompute开发者社区和阿里云栖社区联合主办的"阿里云栖开发者沙龙大数据技术专场"走近北京联合大学,本次技术沙龙上,阿里巴巴高级技术专家吴永 ...

  3. MaxCompute,基于Serverless的高可用大数据服务 1

    为什么80%的码农都做不了架构师?>>>    摘要:2019年1月18日,由阿里巴巴MaxCompute开发者社区和阿里云栖社区联合主办的"阿里云栖开发者沙龙大数据技术专 ...

  4. 基于中台的公共图书馆数据服务研究

    基于中台的公共图书馆数据服务研究 摘 要 本文以中台相关概念为切入点,讨论利用中台相关技术,收集图书馆的多源数据,提高公共图书馆数据资源的管控能力.中台的作用不仅仅是将图书馆中的各种数据进行汇聚,而且 ...

  5. 浅谈大数据服务平台架构与实践

    来源:CDO研习社 编辑:数据社全文共 5517个字,建议阅读需 10 分钟 导读:数据服务是数据中台体系中的关键组成部分.作为数仓对接上层应用的统一出入口,数据服务将数仓当作一个统一的 DB 来访问 ...

  6. 遥感卫星数据共享服务平台:数据服务终端

    转载自https://www.cnblogs.com/rainbow70626/p/6414956.html 项目背景 中国-东盟遥感卫星数据共享服务平台是在中国科技部的支持下,依托中国遥感卫星数据资 ...

  7. 用企业级数据服务解决SOA的最后一英里问题

    根据维基百科的解释,"最后一英里(或者最后一公里)是从一个通信服务提 供商到一个客户的提供连接的最后一段线路.电信和有线电视行业经常用到这个词汇,它通常被认为是一种价格昂贵的挑战,因为铺设线 ...

  8. OceanBase携手天阳科技推出新一代信用卡核心系统联合解决方案,为信用卡业务稳健增长提供创新活力与数据动力

    1985 年,中国银行发行我国第一张人民币信用卡.经过 30 余年的发展,信用卡已经从少数精英才能持有向大众普及,据央行数据显示,截至 2022 年一季度末,我国人均持有信用卡和借贷合一卡 0.57 ...

  9. 2017年的双十一又一次刷新了记录,交易创建峰值32.5万笔/秒、支付峰值25.6万笔/秒。而这样的交易和支付等记录,都会形成实时订单Feed数据流,汇入数据运营平台的主动服务系统中去。数据运营平台的

    2017年的双十一又一次刷新了记录,交易创建峰值32.5万笔/秒.支付峰值25.6万笔/秒.而这样的交易和支付等记录,都会形成实时订单Feed数据流,汇入数据运营平台的主动服务系统中去.数据运营平台的 ...

最新文章

  1. centos 非root用户(普通用户)替换yum安装软件方法
  2. java 初始化hashmap_java – 如何直接初始化HashMap(以字面方式)...
  3. CSS实现input默认文字灰色有提示文字点击后消失鼠标移开显示
  4. 学生电脑哪个牌子好_面包冷藏车哪个牌子好
  5. 向一个无法连接的网络尝试了一个套接字操作_python3从零学习-5.8.1、socket—底层网络接口...
  6. python之torchlight使用_python游戏编程之pgzero使用介绍
  7. 第 17 章 垃圾回收器
  8. MongoDB运行状态、性能监控,分析
  9. 最舒服的颜色搭配值,很有用哦,特别是做设计的!!
  10. 云南丽江梅里雪山泸沽湖游记攻略
  11. 优启通制作系统u盘_优启通 v3.6.2020.0620 VIP版/免费版-好用的U盘启动盘制作工具...
  12. Mac安装双系统后在Windows下体验mac原生触控功能(双指、三指、四指)
  13. 渗透测试技术_Nessus工具(一)Linux centos7下 Nessus8.13的下载、安装
  14. 网页登录页面模板下载
  15. 题目:在C语言中,表达式23|2^5的值是()
  16. AI+PS教程!制作油画质感早餐插画
  17. 很不错的SQLite工具 SQLiteSpy
  18. c语言控制输出间隔大小,C/C++ 输出间隔控制
  19. channel的解析和配置方法
  20. html制作洋葱皮,洋葱皮作用做漂染复活节彩蛋教程

热门文章

  1. 家园防线 | 斐乐的手敲大型庭院物联网灌溉系统(持续更新)
  2. 玩转OSGI-ApacheFelix(一)框架启动部署
  3. 无线Mesh网络相比于传统WLAN的优势有哪些?
  4. 一天干掉一只Monkey计划(四)——卡通着色,描边
  5. ls、ls -a、ls -l、ls -al、ll、ll -a区别
  6. IoTGateway 国内开源工业 IoT 物联网网关
  7. kernel 选项详解(stlinux2.3) 2-2
  8. 如何判断一个文件的编码格式是gb2312还是gbk等
  9. RS485自收发实现方案,典型应用电路及问题经验总结
  10. 如何成为技术大神(文末有抽奖)