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

简介: 技术栈(technology stack)就是一个公司的透视镜,从某些程度上可以展示出公司的技术实力。从技术桟也可以看出整个平台的技术要素,平台大小规模等,今天来给大家分享我司的技术全家桶。总览闲来无事就想着还可以总结总结什么,平台架构、事故解决方案等以前都写过了,这次就主要写写我们都用过那些技术吧。

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

img_cc48b7ba96dd1205360a64557bc58188.jpg

总览

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

img_22f56d054f6abc3b0683e95a6a3f5150.png
点击这里看大图

接下来就展开来说

前端

img_783c86f7a40ebd992eb39a0323d6fbff.png

我司的前端比较简单主要分为了三大块: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使用体验很不错。

后端

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

img_2ca46c9f8c4ab70d7eb3186f2a810ba0.png

后端使用的开发语言有: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容器、消息、缓存、文件服务器和安全。

img_b8e27ee642b4502e05d9e87625bfeb73.png

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

运维

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

img_17457745bb6b489dbf65fc3cf02586bc.png

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

工具

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

img_d5adbc831414fb655824c40e83e32926.png

  • 开发 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。

互金文章系列:

相关文章
|
分布式计算 安全 大数据
企查查支撑8000万+企业数据的大数据平台技术选型与实现
企查查终端所有企业工商信息均实时同步更新,汇集了目前国内市场中的80个产业链,8000个行业,6000个市场以及8000多万家企业数据。
7907 0
|
1月前
|
存储 数据采集 人工智能
TDengine 签约蘑菇物联,改造通用设备工业互联网平台
在当前工业互联网迅猛发展的背景下,企业面临着日益增长的数据处理需求和智能化转型的挑战。通用工业设备的高能耗问题愈发突出,尤其是由这些设备组成的公辅能源车间,亟需更高效的解决方案来提升设备运行效率,降低能源消耗。为此,蘑菇物联选择携手 TDengine,共同推进数智化转型。
39 3
|
分布式计算 大数据 Hadoop
开源大数据方案有哪些
开源大数据方案有哪些
155 0
|
消息中间件 边缘计算 运维
一个字稳!云原生产品家族支撑冬奥会九大业务场景,打造云上奥运新体验
在即将到来的冬残奥会,我们也将全力以赴,稳稳的!
一个字稳!云原生产品家族支撑冬奥会九大业务场景,打造云上奥运新体验
|
运维 Rust 容灾
如虎添翼!高德地图+Serverless 护航你的假日出行
高德在 Serverless 领域中,做了很多方向的探索,也实现了部分核心业务的 Serverless 化,但具体是如何与业务相结合的呢?
如虎添翼!高德地图+Serverless 护航你的假日出行
|
搜索推荐 小程序 机器人
3月已有5起千万级融资,无/低代码开发平台的春天来了
3月已有5起千万级融资,无/低代码开发平台的春天来了 从3年16起融资到半个月5起融资,无/低代码平台真正受追捧
267 0
3月已有5起千万级融资,无/低代码开发平台的春天来了
|
运维 前端开发 JavaScript
2020年末:浅谈阿里前端的多样化
舒文:本文,简单分享几个前端领域在阿里的应用场景,附带一些我对前端技术领域的一些思考,期待能够和众多的行业同仁们有交流互动的机会。
1434 0
2020年末:浅谈阿里前端的多样化
|
存储 SQL 自然语言处理
四两拨千斤:小巧新秀ClickHouse如何完美支撑史上最强双十一?
第12个双11已圆满结束,但对技术的探索永不止步。每年双11,不仅仅是剁手族的狂欢节,更是数据人的“大考”,是检验阿里云数据库技术团队技术水平与技术创新实践的舞台。本站将陆续推出双11护航背后的数据库技术实践与经验分享系列干货文章,敬请关注!今天为云数据库ClickHouse的技术解析。
48761 0
四两拨千斤:小巧新秀ClickHouse如何完美支撑史上最强双十一?
|
移动开发 前端开发 数据可视化
OTT端技术赋能之前端收单能力建设 | 《优酷OTT互联网大屏前端技术实践》第四章
经过OTT端酷喵会员线团队共同努力,在一年时间内,对现有能力进行升级扩展,取得一定成绩。尤其在场景适配方面,体验更为良好,经过数据测算,付费转化率方面也取得较大程度提升。此外,多种形式收单能力,也反向促进运营同学的营销方案思路扩散,开战了多种营销方案创新,整体效果良好。
1096 0
OTT端技术赋能之前端收单能力建设 | 《优酷OTT互联网大屏前端技术实践》第四章
|
XML SQL 存储
选开源报表开发还是商用?2020报表软件产品整理
开源报表却越来越受到程序员热烈追捧,如ireport、 Jsper report、jfreechart这样的免费,开源的JAVA报表工具,在一下开源的JAVA报表相关的论坛里面都是热火朝天,发问者众多。
选开源报表开发还是商用?2020报表软件产品整理

热门文章

最新文章