1、熟悉JDK中各种集合,队列,锁,多线程以及网络编程(Netty)等相关底层结构及原理
2、深入理解JVM各种gc,各种垃圾回收算法以及JVM的调优排错
3、熟练使用Spring Cloud架构体系快速搭建微服务和微服务治理经验,并且阅读过Eureka、Ribbon、Feign、Hystrix、Zuul等组件的核心源码
4、深入理解构建高并发、高性能分布式系统中常用中间件技术原理及使用经验:Zookeeper、Redis、MongoDB、RocketMQ、kafka、EleaticSearch、Dubbo等,能对这些技术做到合理使用,引入架构设计经验。
5、精通MySQL数据库技术分库分表和读写分离,掌握其核心索引原理及sql的性能调优,有大型数据库设计、处理海量数据处理及搜索等经验。
6、熟悉分布式事务设计原理,有业务主流seata等开源框架研究和实际分布式事务应用落地方法论及经验
7、有基于gitlab + kubernetses CICD持续集成、部署经验,熟悉docker、k8s容器技术
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方案和公司核心业务使用商
提供快速开发的全栈基础底座,让开发着专注于产品创新,快速实现应用。 1、基于 Nuxt3 的现代化开发框架,内置常用组件和工具,帮助您快速搭建应用。 2、内置 AI 能力,轻松构建智能应用,快速实现智能化功能。 3、集成 Supabase Auth,支持多种登录方式,快速实
维保系统主要是给公司的售后部分使用,便于售后部分对客户进行管理,给客户提供精准服务。 我在系统中主要做工作: 1)前期和产品经理共同和售后部门座谈调研详细需求功能点 2)设计系统概要设计 3)针对系统重要功能做了详细设计和技术细节实现 本系统提供了: 1、系统管理
电商管理平台是公司社区电商业务板块管理平台,主要包含工作台、商品中心、营销管理、订单中心、基础管理、内容管理等板块 我在此系统中主要做工作: 1)技术架构设计工作 2)核心业务、商品中心、订单中心概要设计及营销管理模块开发 3)工作台开发等 应用技术栈: Sp
sms短信系统是应用于企业内部全平台需要发送短信通知的一个基础服务 功能: 1)接入多个短信渠道,创蓝、七牛云、阿里云等渠道 2)根据公司各个业务线来支持短信发送提供支持接口 3)保障短信平台健壮性,一个平台出现问题马上自动切换其他平台 自己负责角色: 1)短信平