关闭

百亿互金平台技术栈大起底

标签: 技术中间件前端
4364人阅读 评论(9) 收藏 举报
分类:

技术栈(technology stack)就是一个公司的透视镜,从某些程度上可以展示出公司的技术实力。从技术桟也可以看出整个平台的技术要素,平台大小规模等,今天来给大家分享我司的技术全家桶。

总览

闲来无事就想着还可以总结总结什么,平台架构、事故解决方案等以前都写过了,这次就主要写写我们都用过那些技术吧。我分了五块内容来介绍我们的技术栈:前端、后端、中间件、运维和工具。画了一个思维导图方便大家整体预览。


点击这里看大图

接下来就展开来说

前端

我司的前端比较简单主要分为了三大块:PC前端、移动端、模板引擎。

  • PC前端 主要使用了H5、JS,还有很多其它的组件,但以前两者为主。少量的使用过angularjs,最后效果不是特别好,放弃了
  • 移动端 分了三块:安卓、IOS、WAP。安卓前期主要以Java语言为主,现在慢慢在考虑kotlin;IOS以Objective-c为主,少量使用Swift;WAP又称H5,用于微信或者手机浏览器,也是使用Html5、js、少量使用了VUE,H5端的一些JS组件和PC会有不同,一般都有对应的替代品比如:使用zepto替代jquery。
  • 模板引擎 前期一直使用的是Beetle,大量使用springboot后替换为Thymeleaf,Thymeleaf使用体验很不错。

后端

后端以开发语言的角度给大家介绍

后端使用的开发语言有:php、golang、python和Java。

  • php 我们公司的前端的网站都是使用php开发,框架主要使用了thinkphp,小项目试验性的用了laravel。
  • golang 主要用于大数据,使用gin框架,用beego做过一个后台。
  • python 没有在公司用过,自己写小爬虫玩。
  • java 公司最主要的开发语言,核心系统、支撑系统、服务组件均使用Java开发,下面详细介绍一下。

Java技术栈比较多,这里挑选了几个具有代表性的来讲:

  • spring 做Java开发的,几乎离不开spring全家桶了,不需要多介绍。
  • alibaba 阿里这两年非常牛逼,也开源了不少的东西,主要使用过dubbo和druid,都很优秀。
  • apache 如果说搞Java的离不开spring,那么搞开发的就离不开apache,我们主要使用了commons、cxf、zookepper等。
  • orm框架 基本以mybatis为主,hibernate和jpa为辅的模式。
  • quartz 定时任务使用的quartz

中间件

这里面是比较泛的中间件集合,把相关的组件也都包含进来,主要分为:数据库、web容器、消息、缓存、文件服务器和安全。

  • 数据库 业务主要使用mysql,需要跑批统计的离线数据由tungsten replicator同步到mongodb。
  • web容器 php使用的apache,Java使用的tomcat,静态资源代理使用的是nginx
  • 消息 最开始使用activemq,后来架构升级全面替换为rabbitmq
  • 缓存 满标控制使用memcached,后端业务缓存使用redis
  • 文件服务器 最开始使用nginx做图片服务器,后来上线合同就全面使用了fastdfs
  • 安全 https证书保证传输安全,shiro做权限控制,oauth做登录认证。

运维

运维是平台的生命线,主要分为六部分:监控、负载均衡、CI(持续集成)、服务器、自动化部署和网络

  • 监控 主要使用了zabbix来监控服务器的各项指标,少量使用shell脚本和crontab
  • 负载 使用VIP来做均衡负载,也就是LVS。
  • CI 持续集成工具主要使用了jenkins。Java依赖使用maven为主,gradle少量使用,版本控制svn为主,少量使用git
  • 服务器 线上服务器大多使用的是centos 6.5。少量使用7.0。测试环境使用vsphere来虚拟化
  • 自动化部署 这块还在研究,备选有:puppet、ansible、saltstack。
  • 网络 使用Wireshark做网络分析

工具

优秀的工具可以让工作事半功倍,节省很多时间。这里分开发、测试、数据库、画图和运维五个维度来介绍

  • 开发 Java常用的开发工具:eclipse和idea。前两年一直使用的是eclipse,但eclipse对spring boot支持的不够友好,后来就全面使用了idea;php开发工具比较多,我司开发人员主要使用phpstorm和zend,集成环境使用upupw;前端使用WebStorm和sublime3;golang开发工具liteide,IOS使用xcode。
  • 测试 自动化测试工具selenjum,性能测试使用jmeter或者loadrunner,开发人员一般使用jmeter。接口测试使用postman;移动端测试使用 appiumforandroid和appiumforIOS;抓包工具使用 firebug、MIniSniffer、Fiddler。
  • 数据库 mysql数据库可视化工具常用navicat,生产使用Workbench,少部分开发人员使用sqlyog和phpMyAdmin。mongodb使用MongoVUE,表设计用PowerDesigner。
  • 画图 架构图设计使用Visio,也尝试过processon;思维导图使用Xmind。
  • 运维 运维工具使用xftp或者SecureCRT

本文所有示例图均使用xmind,需要原图的同学请在公众号回复:xmind。

互金文章系列:
- 从零到百亿互联网金融架构发展史
- 一次生产事故的优化经历
- 一次dns缓存引发的惨案
- 一个脚本引发的血案
- 互联网金融大战黑客
- 百亿互金平台救火故事
- 如何做一个对账系统


喜欢我的文章,请关注我的公众号

3
0
查看评论

百亿互金平台救火故事

多年前,又是周六客服打电话过来,平台官网不能访问,app完全无法打开,客户在QQ群和微信群中各种反馈,说平台是不是跑路了?客服的多条400热线完全被打爆,电话已经接不过来…前言一直以来总是想以什么方式去记录下自己在互金行业的这段经历,趁着自己还记得清楚,还能找到一些资料原型,一方面可以分享出来供大家...
  • ityouknow
  • ityouknow
  • 2017-03-03 08:33
  • 3596

互金平台如何利用大数据做用户留存?

提起互联网金融,人们当下的态度可谓又爱又恨,因为口口相传的“致富”和“跑路”都不绝于耳。在问题平台的数量(3795)已经快达到正常平台数量(2114)两倍之多、且盈利平台尚不足百分之一的现状下,撑到今天的互金平台都不容易,同时,监管机构仍在不断完善整改机制,若不主动退出就必须尝试破壁。 ...
  • qq_36852006
  • qq_36852006
  • 2017-07-27 14:15
  • 279

【盘点】金融科技走向风口,细数互金领域估值最高的十家企业

近几年,互联网金融平台层出不穷,不仅传统金融行业第一时间进入互联网金融,很多非金融出身的知名企业也开始涉足互联网金融业务。但是,互联网金融平台讲究的是“剩者为王”,并非起步越早就越有机会占据一席之地。那么,回望茫茫网海里的金钱主力,互联网金融领域“最值钱”的十大企业都有哪些呢?编辑 | abby官网...
  • YMPzUELX3AIAp7Q
  • YMPzUELX3AIAp7Q
  • 2017-09-28 00:00
  • 349

排序算法大起底

插入排序(Insertion Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序...
  • cxihu
  • cxihu
  • 2016-01-21 18:56
  • 461

CSDN日报20170303——《百亿互金平台救火故事》

一直以来总是想以什么方式去记录下自己在互金行业的这段经历,趁着自己还记得清楚,还能找到一些资料原型,一方面可以分享出来供大家参考,但是更重要就是多年以后我可以根据这些文章回忆起来自己的那段激情岁月。 想了很久但一直没有实施,后来觉得应该从架构的角度来梳理一篇文章,就写了从零到百亿互联网金融架构...
  • blogdevteam
  • blogdevteam
  • 2017-03-03 19:29
  • 18179

网贷备案倒计时,互金迎来洗牌时刻?

新一轮P2P网贷平台的残酷卡位淘汰赛已经悄然展开。 随着广东、浙江、上海等地的备案工作逐步开展,新年伊始,有消息传来,北京市也已经正式开启网贷备案登记工作,日前金融工局正式下发通知,明确验收备案只求质量不求数量,通过一家备案一家。 各地关于备案平台的要求一般都做了...
  • ladofwind
  • ladofwind
  • 2018-01-19 00:34
  • 180

0012 应用型公司值十亿,平台型公司值百亿,生态型公司值千亿!

应用型公司值十亿量级,平台型公司值百亿量级,生态型公司值千亿量级 ▶我的观点是: 丨应用型公司值十亿量级,平台型公司值百亿量级,生态型公司值千亿量级;如果公司面向全网用户,那么它的单位是美元,如果公司定位在垂直领域,那么它的单位是人民币。当然这个提法确实简单粗暴,...
  • u012091284
  • u012091284
  • 2015-08-30 23:16
  • 390

emoji处理方式大起底

插入Emoji表情,保存到数据库时报错: SQLException: Incorrect string value: '\xF0\x9F\x98\x84' for column 'review' at row 1 UTF-8编码有可能是两个、三个、四个字节。Emoji...
  • ugg
  • ugg
  • 2015-03-12 19:09
  • 46770

“互联网思维”大起底

最近关于“互联网思维”的文章已经烂了大街,本不想掺和,但没想到身边一帮从屌丝到土豪的朋友们无人不在谈起,饭桌上常常不得不被迫成为他们的听众,去听他们描述一些几乎丧尽市场常识的观点,严重影响了食欲。为了一劳永逸来解决身边这个问题,本着影视行业一贯“无处不天涯,人人可八卦”的职业精神,我们来扒一扒这件事...
  • owen5630
  • owen5630
  • 2014-02-07 13:33
  • 1031

Emoji处理方式大起底

原文地址:http://blog.csdn.net/ugg/article/details/44225723 emoji资料 今天研究了emoji,挺有意思,资料挺多,摘要一些信息给大家分享,也算是自己记录学习。 emoji介绍 Emoji (絵文字,词义来自日语えもじ,e-moji,m...
  • tanga842428
  • tanga842428
  • 2017-09-18 19:12
  • 309
    微信公众号:纯洁的微笑
          分享技术与生活,欢迎大家关注.


    链接:


       关于我


       文章索引


       交流群:144304696


       获取十套精选1000G架构师资料


    个人资料
    • 访问:299986次
    • 积分:4094
    • 等级:
    • 排名:第8980名
    • 原创:75篇
    • 转载:2篇
    • 译文:0篇
    • 评论:423条
    博客专栏
    最新评论
    站长统计