挖财首席架构师王福强:架构设计中的6大关键点

知识结构

软件系统架构师综合的知识能力包括9个方面,即:
1、战略规划能力。
2、业务流程建模能力。
3、信息数据结构能力。
4、技术架构选择和实现能力。
5、应用系统架构的解决和实现能力。
6、基础IT知识及基础设施、资源调配能力。
7、信息安全技术支持与管理保障能力。
8、IT审计、治理与基本需求分析、获取能力。
9、面向软件系统可靠性与系统生命周期的质量保障服务能力。
  • 作为系统架构师,必须成为所在开发团队的技术路线指导者;具有很强的系统思维的能力;需要从大量互相冲突的系统方法和工具中区分出哪些是有效的,哪些是无效的。架构师应当是一个成熟的、丰富的、有经验的、有良好教育的、学习快捷、善沟通和决策能力强的人。丰富是指他必须具有业务领域方面的工作知识,知识来源于经验或者教育。他必须广泛了解各种技术并精通一种特定技术,至少了解计算机通用技术以便确定那种技术最优,或组织团队开展技术评估。优秀的架构师能考虑并评估所有可用来解决问题的总体技术方案。需要良好的书面和口头沟通技巧,一般通过可视化模型和小组讨论来沟通指导团队确保开发人员按照架构建造系统。

编者按:要开发出用户满意的软件并不是件容易的事,软件架构师必须全面把握各种各样的需求、权衡需求之间有可能的矛盾之处,分门别类地将不同需求一一满足。在UPYUN Open Talk 第二期“移动时代互联网金融架构趋势”的技术分享中,挖财首席架构师王福强带来了《挖财的互联网金融技术探索》,王福强重点分享了当前挖财架构设计中的6大关键点:

系统层级分离

从大的体系来讲,挖财主要在做四个纬度的事情,第一个是会员中心,挖财有一套自己的会员体系,第二个是现金流,第三个是风控中心,第四个是产品中心,最后是一些清算和结算的东西。

挖财在所有的系统上都会做一些适度的关键点分离。在这个层面上SOA(构造分布式计算的方法)必不可少,当系统形成一定规模后也会逼着我们往这个方向走。

54c846fa9a8bd_middle.jpg

在现金流体系中,因为现金流数据的特性和一般数据特性不一样,它会随着时间的纬度不停往上涨,不能单纯按照用户来划分,所以挖财从用户和时间线两个维度的区分现金流。为了保持数据的一致性,挖财在选型的时候采用了Scala语言。在系统体系里,中间件会随着数据量的增长而遭遇瓶颈,所以挖财在后面的服务化方向就专门针对服务做优化,在应用层针对数据层做一些屏蔽工作,将其分离开来。

除了在技术上做边界分离,我们还会对职责进行一些划分,让个人优势得以充分发挥,挖财在这一点上强调的是前后端分离,最早挖财在技术上只是做异步的调用,生成一些protect层面的规范,但最终前端的事情还是要完全由前端来做,这会使得前后端的工作效率得到整体提升。

消息传递

上面的分离,主要是在系统层级的隔离和界定上,隔离后还需要进行系统层级间的交流互通,形成体系后才可以产生更大价值的服务。挖财采用了消息传递机制来解决系统互通的问题。

在消息传送的方式上采用remoting(分布式处理方式),提到remoting更多的还是和RPC相关的概念,互联网大部分技术体系都是同时采用多语言开发的,RPC是跨语言的通信标准。基于服务做的工作,基本都会参考使用DUBBO服务框架。鉴于金融系统对高并发的要求没有特别高,挖财采用了HTTP协议来实现。

异步化处理

通过消息传递解决了系统互通的问题后,为了尽量减少事件给系统带来的影响,在尽可能所有的地方都走异步化。

挖财,Async典型应用场景.jpg

当移动端对服务器端发起的请求直接达到百万级别以后,通过异步处理的方式形成一个完整的异步闭环,等数据处理完后,将数据Push给移动端。在这个过程中,服务器端可以进行某些交互,也可在本地做一些事情。在这个环节挖财使用得最多的是Kafka和Akka技术。Akka是Actor模型在Java/Scala平台上的一个比较成熟的实现。

Akka本质上没有限速,所有的消息都可以实时发送,这就会导致稍不注意就会导致处理节点的数据崩盘,所以我们在使用Akka过程中第一个要处理的问题就是限流。比如通过ACK机制缓解后端处理压力。

信息存储,宁多勿缺

挖财对信息这一块现在采用宁多勿缺的原则,保留每一次的更改,代替原有的直接覆盖,这样使得出现问题的时候能有迹可循,不会因为查询不到一些信息而一头雾水。

在消息传递环节采用Kafka也是考虑到了这方面的原因,我们最看重的就是Kafka的多副本数据保存能力。

除了Kafka,我们还进行了一些小实践,在维护方面,如果核心资料变更,以前是直接覆盖,现在是核心字段配一个版本号,后期出现任何问题都可以根据时间将操作找出来。比如说Actor崩溃的话,我们通过Akka的创建功能可以随时回去,不至于出现消息丢失、数据丢失的问题。总之挖财的技术希望能有自己的时光机,出了问题可以回退。

系统安全

对金融系统来讲,安全是一个比较重要的问题。在金融系统来说,ATBS已经是最低标准。为了抵制外来危害,首先尽可能的设置门槛,这样可以减低技术成本。

在技术层面,会构建基本防御层,比如网络防火墙,应用防火墙。

在业务层面,借力第三方,在反欺诈层面挖财使用了同盾科技的技术,同时配以风控团队进行人工干预。

在拦截层面,为了保证隔离性,且不希望Kafka在接管所有东西后,这个集群出现问题,这个集体整体会受到影响,因此希望从物理上部署应用的隔离性,相应集群负责相应的业务处理。

存储冗余

从分布式存储的角度来讲,传统互联网更多在CP的角度考虑问题,往往是将存储弱化掉,但对互联网金融企业来讲,需要将存储数据的一致性提高到第一位。对于核心交易系统,为了避免Message Queue的弱势,采用了简单、灵活的Multi-write来解决数据一致性的问题。

54c847861e75c_middle.jpg

挖财从技术架构上来说,希望最终形成这样一套完全靠事件来触发的,以时间和数据为流向,充满弹性机制的Reactive(响应)系统。


作者:王福强,现任挖财首席架构师,原阿里资深架构师, 先后在阿里巴巴平台技术部及天猫产品技术部任职;6 年日本、欧美顶级金融机构信贷,外汇期货,债券交易平台产品规划,架构设计,开发运维;5 年阿里系浸淫大数据,搜索/推荐, 中间件, 实时数据计算与流计算等多个技术领域;1 年自由职业,平台研究及创作;cobarclient分布式数据访问层作者;《Spring揭秘》作者;Scala早期接受者与布道者。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,126评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,254评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,445评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,185评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,178评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,970评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,276评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,927评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,400评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,883评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,997评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,646评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,213评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,204评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,423评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,423评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,722评论 2 345

推荐阅读更多精彩内容