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

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

题外话

今天是一个特殊的日子,我就多说两句,2017年过半了,大家的年终计划都执行的怎么样?而对于我还有另一层的意思,就是我终于要离职了。

今天是我在这家公司的最后一个工作日。以前每次和朋友聚会都会问,最近发展的怎么样,在那家公司?我说还在xx,他们就开玩笑说,强哥你准备把公司干倒呀。从写下一行代码到成为公司技术的负责人我用了三年的时间,期间经历很多事情,但总体还是收获了很多。看着公司三年多的变迁,也有很多感慨,但是目前的这个阶段也不方便多说。

公司在14、15年的时候发展势头很好,一度有冲击一线互金平台的趋势,互联网行业就是这样,不进则退,短短两年就脱离了互金的一线大本营。这两年发生了什么会导致公司迅速掉队呢?公司文化绝对是第一原因。公司文化就像一个人的气质一样,从开始就决定了往后的发展,公司文化也是一种风气,干劲十足、人浮于事、混日子都会传染,特别如果老板都是打工心态的话,公司肯定做不好。

两个大家肯定感兴趣的问题:为什么离开公司,原因只能回答:一声叹息,以后有机会可以给大家慢慢道来。我将去那家公司?已经有下家,暂时也不方便告知,望见谅。

总览

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


点击这里看大图

接下来就展开来说

前端

我司的前端比较简单主要分为了三大块: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。



作者:纯洁的微笑
出处:http://www.ityouknow.com/
点一波关注再走

原文地址:http://blog.51cto.com/ityouknow/2086355

时间: 2024-11-07 23:31:42

百亿互金平台技术栈大起底的相关文章

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

[程序人生]百亿互金平台救火故事 作者:纯洁的虫子 一直以来总是想以什么方式去记录下自己在互金行业的这段经历,趁着自己还记得清楚,还能找到一些资料原型,一方面可以分享出来供大家参考,但是更重要就是多年以后我可以根据这些文章回忆起来自己的那段激情岁月. 想了很久但一直没有实施,后来觉得应该从架构的角度来梳理一篇文章,就写了从零到百亿互联网金融架构发展史这篇文章:最后认为只有实战出来的东西以及解决问题的过程,才是工作中最宝贵的经验,应该把它分享出来,在梳理的过程中觉得有三起事故比较有代表性就整理出了

百亿互金平台救火故事

多年前,又是周六客服打电话过来,平台官网不能访问,app完全无法打开,客户在QQ群和微信群中各种反馈,说平台是不是跑路了?客服的多条400热线完全被打爆,电话已经接不过来- 前言 一直以来总是想以什么方式去记录下自己在互金行业的这段经历,趁着自己还记得清楚,还能找到一些资料原型,一方面可以分享出来供大家参考,但是更重要就是多年以后我可以根据这些文章回忆起来自己的那段激情岁月. 想了很久但一直没有实施,后来觉得应该从架构的角度来梳理一篇文章,就写了从零到百亿互联网金融架构发展史这篇文章:最后认为只

2016.08互金平台移动端影响力50强

2015年,也被称为互联网金融移动化的元年,强化移动端的竞争力已成为互联网金融平台的重要战略之一. 以最活跃的P2P网贷领域为例,根据网贷之家.盈灿咨询的投资者调研及主要平台的数据显示,在2015年末移动端的成交量正在超越PC端,甚至行业内已经出现纯移动端的平台. 对于互金平台来讲,移动端具有用户体验好.沟通效率高.数据获取更准确等优势,各家平台也充分认识到这一点,通过多种渠道强化移动端的影响力. 基于此,盈灿咨询通过监测互金平台的微信公众号.平台APP.平台微博.新闻客户端.QQ群等常见移动端

独家榜单:8月互金平台移动端影响力TOP50

首页 >  网贷新闻 >  行业研究 >  详情 独家榜单:8月互金平台移动端影响力TOP50 发布时间:2016-09-19 14:26:39 来源:盈灿咨询 作者: 收藏 摘要:盈灿咨询发布<8月互金平台移动端影响力50强榜单报告>显示,支付宝稳居榜首,京东金融排名暴跌. 近日,盈灿咨询发布<互金平台移动端影响力50强榜单报告>(以下简称“<报告>”),旨在反映互金平台在移动端的影响力情况.<报告>是根据300家平台在平台微信公众号.平

2016.05互金平台移动端影响力50强榜单报告!

(文章来源:盈灿咨询) 6月21日下午,盈灿咨询在京举办互金平台移动端影响力报告暨2015网贷蓝皮书出版发布会,首次独家发布了<互金平台移动端影响力榜单TOP50>,北京大学汇丰商学院中小企业研究中心执行主任王家卓.网贷之家首席研究员&盈灿咨询总经理马骏.盈灿咨询副总经理于百程.爱钱进CEO杨帆等嘉宾出席了本次活动并做主题分享. 据悉,该报告选取了300余家互金平台5月的移动端数据,以平台在移动端的推广目的和移动互联网特点为支点,以指标.评分.分析为撬棍,展示了目前行业内互金平台的移动

刘德:小米已投89家生态链企业 有品要做百亿电商平台(本质上是是利用了小米的大火炉的余热,但也有反向的正面作用)

小米科技联合创始人.副总裁,小米生态链负责人刘德(微博)文/腾讯科技 王潘 小米对生态链企业的投资正在接近雷军(微博)当初预期的100家目标,截至6月30日,小米已经投资了89家. 通过三年左右的布局,小米投资的多家生态链企业都在市场上有不错的表现,如小米手环和移动电源都已经成为全球销量第一的产品. 小米科技联合创始人.副总裁,小米生态链负责人刘德今日在接受腾讯科技专访时说,小米生态链之所以能做起来,本质是享受了小米的红利,小米相当于一个火炉,是有余热的,不用也许就浪费了,所以就利用到这些生态链

微信高并发资金交易系统设计方案——百亿红包背后的技术支撑

背景介绍 2017年1月28日,正月初一,微信公布了用户在除夕当天收发微信红包的数量--142亿个,而其收发峰值也已达到76万每秒.百亿级别的红包,如何保障并发性能与资金安全?这给微信带来了超级挑战.面对挑战,微信红包在分析了业界"秒杀"系统解决方案的基础上,采用了SET化.请求排队串行化.双维度分库表等设计,形成了独特的高并发.资金安全系统解决方案.实践证明,该方案表现稳定,且实现了除夕夜系统零故障运行. 本文将为读者介绍百亿级别红包背后的系统高并发设计方案,包括微信红包的两大业务特

百亿级数据处理量的弹性调度容器平台

百亿级数据处理量的弹性调度容器平台 七牛云数据处理团队的容器技术实践经验 一.数据处理业务场景 首先介绍一下七牛数据处理业务的背景.七牛云目前平台上有超过 50 万家企业客户,图片超过 2000 亿张,累积超过 10 亿小时的视频. 用户把这些图片和视频存储在七牛上后会有一些数据处理方面的需求,如缩放.裁剪.水印等. 这些文件持续在线且数据种类多样,如果用户把这些文件在自己的基板上处理好后再上传到七牛,是非常不合算的事情.而七牛最先提供基于存储的数据处理功能方便用户去做数据处理,这些数据处理通常

区块链这些技术与h5房卡斗牛平台出售,大数据基础软件干货不容错过

在IT产业发展中,包括CPU.操作系统h5房卡斗牛平台出售 官网:h5.super-mans.com 企娥:2012035031 vx和tel:17061863513 h5房卡斗牛平台出售在内的基础软硬件地位独特,不但让美国赢得了产业发展的先机,成就了产业巨头,而且因为技术.标准和生态形成的壁垒,主宰了整个产业的发展.错失这几十年的发展机遇,对于企业和国家都是痛心的. 当大数据迎面而来,并有望成就一个巨大的应用和产业机会时,企业和国家都虎视眈眈,不想错再失这一难得的机遇.与传统的IT产业一样,大