1、中间件框架等项目
1.1城市级ioc项目高性能API网关系统
承载公司核心项目API网关系统,高度适配项目业务不依赖第三方框架,轻量级、高性能的网关,满足公司核心项目架构需要,易部署、高性能等特性。
架构技术:原生java + Netty不依赖任何第三方框架(Spring/SpringBoot),轻量级、高性能
设计亮点:
1、异步化设计思想,路由转发请求和和接受服务响应异步话设计
2、吞吐量为王策略,在boss-worker之后加缓冲区
3、用尽缓存,近可能用到缓存的地方都使用缓存(内存:map、list、queue)
4、串行化设计思想在耗时少,高性能要求下使用
性能结果:
压测工具wrk,服务器配置:16C/32G 使用16个县城1000个连接持续压测60s,QPS达到80000+;
1.2零壹城市级ioc分布式图片存储系统中间件
本项目是为了满足公司战略项目城市级IOC智控中心产品,客户要求数据不能存储到公有云,保证数据安全情况下自研的分布式文件存储系统。本系统是使用Java开发的一个分布式海量小文件存储系统,功能包括文件上传、文件下载、文件存储等,高效的支撑满足了公司产品对于小文件存储要求。
技术亮点:
1、采用原生java开发,尽可能不借助开源框架开发,提高系统兼容性、系统性能、易部署等
2、网络通信采用NIO结合自定义协议和自定义文件传输协议
3、nameNode模块editlog双缓存设计思想
4、nameNade的主备切换高可用思想
5、nameNode的元数据分片和动态扩容设计
1.3最终一致性框架,保证每一个原子操作一定可以成功保证数据最终一致性
最终一致性框架本质上是提供一个小组件,在代码中保证某个操作Action最终一定可以执行成功;此小组件可以提供快速方便各个项目快速接入,实现最终一致性需求来支持业务开发。
设计亮点:
1、采用AOP思想,系统侵入性小,直接使用注解配置方式
2、自定义任务重试查询逻辑设计
3、自定义降级、告警支持同时支持默认实现
2、大型项目
2.1城市级IOC智控中心
项目介绍:城市级IOC智控中心产品是支持以城市为单位进行本地化部署,通过建立城市综合运营管理中心,基于互联网实现对多项目的人行、车行、安防、消防等物联设备综合接入,并通过数字化、智能化的科技赋能,实现智控联动、远程集中运营,实现物业管理的降本增效。
项目职责:参与产品整体的架构设计、规划,输出整体架构设计图和评审,规划整体数据流的流转和NVR视频汇聚方案等难点解决以及支持产品实现中框架和中间件部分核心编码。
实现难点:
1)数据流的流转,车行、人行记录数据上报方案、基础数据/增加数据同步方案及边缘端设备告警上报等
解决:梳理业务,和车型负责人、人行负责人、产品经理多次沟通,逐一确定每种数据流的处理措施和落地可行性,最终设计出达成共识的数据流转方案
2)根据产品形态和市场调研,客户方对人行端上传人脸,身份证等隐私信息安全性比较重视,对这些存储介质有强制要求不能存储在七牛云等OSS公有云产品上
解决:通过自研oeasy-dfs分布式小图片存储中间件来解决,实现了可以方便私有化部署、轻量级、高可用,易扩展特性。
项目发布情况:目前产品v1.0产品已经发布,得到了客户的认可,已经和部分城市合作商和政府建立了战略签约。
2.2 公司运营的“1号社区”是国内领先的全生态智慧社区整体解决方案是公司的重量级产品,主要面向C端用户,目前注册用户1200多万,日活300万,日访问量1亿+手机智慧社区平台
随着公司业务团队和合伙人制度推广,公司业务极具扩张,特别针对C端用户的一些积分,优惠券、现金券等补贴烧钱运营活动,平台迅速激活转化了一批不太活跃用户,但同时使我们一号社区平台也暴露了一些系统问题。
1)业务模块进一步拆分,拆分出来的业务线各司其职,职责和业务架构更加明确,也便于开发,减少不同业务之间耦合
2)数据量大的优化,对一些数据量大核心表做分库分表策略,ES中不要存储全量数据,只存储一些要搜索的索引字段,组成一个大宽表,明细数据存储到mongo中,快照数据存储到hbase中
3)缓存优化,使用JD-hotkey引入解决热key探测问题和rdb-tools来检测大key问题
4)分布式事物改造,利用柔性事物和自研最终一致性框架、业务流程引擎来取代一些刚性事物提供系统吞吐量
2.3主导了红岭原老系统重构基于Spring Cloud Netflix构建分布式微服务架构体系落地,帮助公司摆脱完全依赖阿里云EDAS商业化分布式应用服务,给公司节省了开支。
项目职责:预演Spring Cloud Netflix方案和公司核心业务使用商