7年java开发经验,其中4年以上大型系统架构设计经验,具有分布式、高并发、高可用、大数据量的系统架构设计以及研发经验,曾负责注册用户6.5亿,日活4000万,日访问量1亿+的移动应用气象服务平台的架构设计与研发。
技术栈:
分布式框架:熟悉Spring cloud Netflix(Eureka、Ribbon、Feign、Hystrix、Zuul),熟悉Dubbo,阅读过核心源码;
·消息中间件:深入了解Kafka底层原理和架构设计,阅读过核心源码,熟练使用并进行开发和生产集群部署;
·分布式协调服务:深入了解Zookeeper底层原理和架构设计,阅读过核心源码,熟练使用并进行开发和生产集群部署;
·分布式事务:熟悉TCC方案ByteTCC框架,看过源码,设计可靠消息最终一致性方案、最大努力通知方案;
·缓存:熟练使用Redis进行功能开发,有集群搭建、冷热备份、数据迁移等实战经验;
·并发编程:深入了解如volatile、synchronized、CAS、AQS的底层原理,熟悉用并发编程技术进行开发;
·熟悉NIO、Netty、ZeroMQ等网络组件,了解底层原理,能熟练运用并进行开发;
·熟悉JVM原理,对项目有进行过参数调优的经验;
·熟悉Spring、SpringMVC、Mybatis,阅读过核心源码并根据需要扩展;
·熟悉MySQL,具体SQL优化、分库分表、索引优化、性能调优、数据库灾备、数据库迁移等实战经验;
·熟练使用MongoDB,具体集群搭建(副本集、分片集群)、冷热备份、性能调优等实战经验;
·熟练运用设计模式进行开发与功能设计,常用构造器模式、工厂模式、状态模式、策略模式等;
·熟悉使用Maven、git等工具,运用Jenkins自动打包发布项目;
公司:墨迹天气
亿级用户推送系统
项目描述:推送系统是墨迹天气核心系统之一。整个系统包括推送token收集和消息推送两大子系统,token收集子系统负责墨迹天气App每天四千万活跃用户的token信息收集和更新;消息推送子系统负责每处理包括短时预报推送、预警推送、城市早晚天气订阅推送、运营推送等近10亿条/日消息的推送。
架构技术:SpringMVC + Redis + Kafka + Zookeeper + MongoDB + maven + git + k8s + docker等技术进行开发。
主要工作
深入了解Kafka的架构原理,规划Kafka集群部署,架构了一套支持日处理10亿级数据量的Kafka集群。并用Kafka集群对推送token收集服务进行系统解耦和异步、削峰,实现日处理过亿次的token数据更新。
深入了解Redis Cluster的架构原理,用Redis Cluster保证1.8亿有效用户token数据存储高可用。
采用MongoDB 3.4分片解决1.8亿用户token数据的及时更新、存储和快速查询问题。
采用ZeroMQ网络组件解决消息转发的问题,实现海量消息的快速推送。
采用ELK服务收集系统的推送日志,并基于此实现定时删除Redis集群和MongoDB中的无效数据。
对服务进行JVM参数调优。
对推送服务节点采用k8s容器化部署,实现高峰期节点自动扩容。
各业务多节点部署保证高可用。
mocha分布式服务治理框架
项目描述:mocha是一套基于Thrift开发的分布式服务治理多语言框架,主要支持Java、Python、PHP等编程语言。系统简单易用、数据结构与传输表现分离,支持多种消息格式,支持同步和异步通信,支持业务服务的自动注册、发现、订阅、注销等过程。目前已经在公司内部广泛使用。
架构技术:Spring + Thrift + netty + Zookeeper
主要工作:
深入了解Zookeeper原理,基于Zookeeper实现分布式协调。
基于Thrift实现
墨迹会员系统
项目描述:墨迹会员系统面向墨迹天气中登录开放。通过墨迹天气App引导用户进行购买墨迹会员,购买后成为墨迹会员,会员享有免广告,亲情短信设置,订阅服务等功能。主要是增加用户VIP荣誉感,完善基础功能,增加入口流量,培养付费习惯,增加基础权益等功能。
架构技术:Spring boot + eureka + feign + ribbon + redis + zookeeper + mybatis + mysql等技术
主要工作:
将原来的SpringMVC项目架构改成Spring cloud架构,并对Eureka进行了参数调优,让服务感知达到秒级。
采用ByteTCC事务框架同步处理支付功能。
采用可靠消息最终一致性设计,保证用户积分、会员权益在成功开通会员后处理。
采用Redis主从架构模式对用户的会员信息进行缓存,通过设置过期key处理会员到期。
采用分布式锁避免优惠券被重复利用的问题
定位系统
项目描述:定位系统也是墨迹天气的核心系统之一。该系统包括提供给App端的定位接口服务和定位数据制作和更新服务,整个系统实现了全球地理位置的快速定位,为墨迹天气实现全球天气服务提供基础。
架构技术:SpringMVC + Kafka + storm + Redis + Encache + 自研分布式服务治理框架
主要工作:
采用nginx+lua实时上报用户定位数据到kafka,并基于storm实时统计热点城市。将最近3分钟访问次数高的城市数据基于LRU内存数据结构的存储方案(统计算法类似于Hystrix的窗口机制)
采用Redis+Ehcache多级缓存存储热点城市行政区划数据,提高接口的响应速度。
基于自研的分布式服务治理框架,将定位系统划分了一个定位模块(RPC服务端)提供其它业务远程调用。
各业务服务多点部署保证高可用。
设备注册系统
项目描述:设备注册系统是墨迹天气最基础也是最重要的系统之一。该系统的主要功能是收集所有安装了墨迹天气应用的系统和设备信息,并生成一个唯一的设备标识(UID)下发给客户端。
架构技术:SpringMVC + Mybatis + MySQL + TiDB
主要工作:
利用Mybatis插件自研基于imei/mac/uuid/idfa进行分库分表分散存储数据,将6.5亿用户设备数据分为10个库100张表存储。
机房服务迁移,采用双写数据库的方法完成6.5亿用户设备数据从MySQL迁移到TiDB集群。
服务内容下发系统
项目描述:服务下发系统是墨迹天气重要的系统之一。该系统的主要功能是客户端可以根据页面编码来请求在后台配置的对应页面的数据,实现了运营数据的灵活配置和下发。
架构技术:SpringMVC、MyBatis、MySQL、Redis、Encache
主要工作:
基于Redis+Encache多级缓存,解决高峰期配置信息查询慢的问题。
采用异步串行化的方式解决缓存+数据库双写不一致性的问题。
采用存服务双机房部署等手段避免缓存雪崩问题,保证服务高可用。
可兼职时间
可兼职地点
0条评论 雇主评价