后端技术:spring boot、mybatis、spring cloud、dubbo、C#
数据库:redis、sql server、mysql、mongodb
消息队列:rabbitmq
前端:vuejs、nodejs,jquery、knockoutjs
运维:nginx、Linux基础操作,docker、Jenkins 自动化部署
一、云筑智联项目:
云筑智慧工地是以物联网智能设备监管为核心,制定统一的物联总线标准,采集各智能设备的安全、生产数据,对工地进行实时监控和管理。系统以大数据为基础,云计算及深度学习为手段,实现施工过程中智慧化管理、智慧化生产、智慧化监控、智慧化服务四化目标,主要用到以下技术:
开发中主要用到以下技术:
• spring boot、dubbo、zookeeper、sharding-jdbc、redis、rabbitmq、mysql
• vue.js、webpack、axios、element ui
• jenkins 自动化系统部署
开发技术概要:
• 从微服务的角度出发主要减少工作重复度,服务模块化开发。
• 微服务主要通过dubbo+zookeeper来实现,将dubbo服务注册到zookeeper,更加快捷简单实现分布式服务开发。
• sharding-jdb主要用于处理数据库分库,以项目编号为分片键,将不同的项目采集的数据写入到分片库中
• rabbitmq技术主要用于每个项目设备在每一分钟都会上传数据,用rabbitmq可以有效控制流量暴涨,并且有效保证数据不会丢失
• Vue.js MVVM框架,相比以前开发使用Jquery在使用vue减少许多前端开发复杂度
• jenkins 自动化部署,主要为我们节省了很多系统部署过程
二、云筑集采
云筑集采-是进行在线招投标、询比价、采购合同、在线评标、供应商管理于一体的集中采购平台。
开发中主要用到以下技术:
asp.net mvc、jsonRPC、redis、solr、sqlserver,以及公司内部自己实现分库技术等
knockoutjs、bootstrap、jquery等
开发技术概要
使用jsonRPC框架主要是为了提供给第三使用该服务,同时也能将服务拆开做分布式服务
redis主要是为了缓存一些常用的数据
solr主要为了优化商品搜素的效率
sqlserver实现了主从复制与读写分离、有效解决服务宕机、灾备、访问量增大以及写入量增大等问题
knockoutjs mvvm框架,主要为了兼用IE8等浏览器,并实现页面上数据双向绑定,而dom元素操作通过jquery来完成
我在做报表系统开发时候,主要遇到过数据查询效率问题,解决办法如下:
首要是先查看表中是否建立索引,其次根据查询计划查看每个关联表字段是否都是索引查询。
创建临时表,将数据表中数据量小的数据查询出来放在临时表中,用业务表join临时表从而降低表关联时候数据扫描次数,能够达到一定数据查询优化
基础控制,只查询出需要的字段数据,尽量不要再数据库中做数据计算,查询条件考虑条件的先后顺序。
经过以上处理,我将几个系统500万左右业务数据汇总查询速度优化在500ms以内
角色 | 职位 |
负责人 | .NET 开发工程、java高级开发共亨施 |
队员 | 后端工程师 |