edison_wang
1月前来过
全职 · 500/日  ·  10875/月
工作时间: 工作日20:00-02:00、周末09:00-00:00工作地点: 远程
服务企业: 2家累计提交: 2工时
联系方式:
********
********
********
聊一聊

使用APP扫码聊一聊

个人介绍

如果我能帮上您的忙,请点击“立即预约”或“发布需求”!


熟悉常用的Java集合,熟悉多线程和同步容器使用,比如AQS、CAS、volatiltle、synchronized

熟悉Spring、Spring MVC、Mybatis、Spring boot、Spring Cloud、GRPC等开源框架

熟悉xxljob、apollo中间件,解决分布式任务,分布式配置中心

熟练掌握Redis核心的数据结构,熟悉缓存高并发场景,比如缓存穿透、缓存击穿、缓存雪崩、热点缓存重

熟悉常见的消息中间件的使用,解决过消息中间件的疑难杂症,比如消息丢失、消息重复消费、消息积

压、消息顺序性等问题

熟悉JVM底层原理,JVM各种垃圾收集器使用以及核心参数调优,有Arthas线上调优经验

使用JProfiler,Java Mission Control 进行JVM调优

在项目中解决过各种分布式场景问题,比如分布式锁、分布式事务、数据的分库分表(Sharding-Sphare)

熟练书写SQL、存储过程、触发器,熟练使用MySql,熟练SQL 调优

熟悉TCP/IP、HTTP、HTTPS、OAUTH2协议

熟悉Tomcat JBoss FastDFS图片服务器 Nginx负载均衡

熟练使用Linux命令,会编写shell脚本

熟悉Cannel ,使用Cannel 保持缓存和数据库一致对于高性能IO通信模型以及开源组件Netty等源码有过了解,熟悉Netty线程模式,使用Netty 基于Socket

协议开发过视频上传服务

了解ES,使用ES存储建立标签和POST、文章、视频的关系,加快查询速度

了解时序数据库 InfluxDb,使用InfluxDb 存储用户行为数据

工作经历

  • 2021-01-13 -至今金融科技有限公司Java软件开发

    WestMoney APP WestMoney 向海外用户介绍中国资本市场,吸引海外用户投资A股。该项目为海外用户提供7*24小时实时市 场咨询、实时股票咨询、在线论股平台的财经社区。 开发工具 idea、datagrip、postman、jmeter、JProfiler、Java Mission Control、Portainer、Rancher 技术栈 Redis、Ehcache、Canal、GRPC、Xxljob、Hystrix、Docker、k8s、Apollo、Kafka、Mybatis、Netty、 OAuth2、Spring boot、Spring Cloud、APNS、Firebase 该项目由众多微服务组成,我负责以下服务: 发现页服务 发现页服务提供实时财经咨询和用户实时讨论的功能,目前承载日活2w+用户,注册用户100w+ 的访问 首页用户发文列表:定时更新发文用户列表,使用xxljob作为分布式任务调度器,调度GRPC 流式接口批 量返回数据存储在大顶堆中,用户访问时调用用户服务接口将用户信息存储在redis hash中。由于首页并 发量很大,所以使用redis

  • 2018-06-30 -2020-12-23航空公司Java软件开发工程师

    离港用户双因素认证 开发工具:Ubuntu、Idea、Spring boot、Mybat***台、Mysql、Redis、消息队列 测试工具: 实例化测试、Jenkins、docker、PowerMock 项目介绍 离港用户双因素认证用于机场工作人员登录机场离港系统,为确保订票系统账号的安全性,机工作人员在登录 系统时不仅要输入账号和密码,而且需***才可登录。该模块我负责的有三个功能: 1、存储绑定数据:用户使用主机(C语言编写的客户端) 登录系统时,会强制要***了解耦将绑定 的数据放入消息队列,我方将数据从消息队列中取出存入redis 2、用***用***台API和公众***openId,从而与离港账号建立关系 3、扫码登录***台API,提供用户扫码登录的功能 4、自动部署:搭建自动运维环境,使用Jenkins+docker实现打Tag后自动部署,并且使用实例化测试验证代 码的可靠性,通过实例化测试给测试人员提供完整的接口文档,减少了开发与测试的沟通成本 项目技术点 项目中使用了java8 函数式接口增加代码的扩展

教育经历

  • 2014-09-01 - 2018-06-30重庆三峡学院软件本科

技能

Netty
多线程
Mybatis
Kafka
gRPC
Nginx
Docker
Spring
Maven
0
1
2
3
4
5
0
1
2
3
4
5
作品
特征系统

主流互联网产品中建立在人工智能技术上的策略系统已深入到产品的方方面面。相应的,策略系统都离不开大量的在线特征。乾升利在线特征系统通过系统上下文,在线获取特征数据,为上游策略系统配置的规则、上游模型算法提供了精确的响应,另外特征计算还需要同步大量数据、接入多种数据源以支持多种多样特征的精确计算。 系统主要功能有正审特征查询、预审特征查询、实时特征监控和报警、特征列表查询、特征结果缓存、用户和系统数据同步到Mysql、HBase、MongoDB、数据源智能路由。 系统利用缓存、数据分层、数据预处理、负载均衡技术使得系统的峰值QPS超过400,响应时间TP95值为15ms。对用户和系统的数据采用AES+RSA 算法 进行加密传输,保证数据安全。

0
2023-04-19 19:52
航空公司订座权限管理

该模块是提供给东航订座人员,以便于管理员可以修改相关工作人员的订座权限。该模块我负责的功能: 1、批量上传订座数据:将相关人员的数据放入excel表中,对excel表中数据进行校验 2、批量修改:excel表中的数据校验成功后会对数据进行修改 3、修改成功后短信通知:修改成功后给该操作人发送短信并且记录跟踪带日志

0
2023-04-19 19:53
WestMoney APP

技术栈 Redis、Ehcache、Canal、GRPC、Xxljob、Hystrix、Docker、k8s、Apollo、Kafka、Mybatis、Netty、 OAuth2、Spring boot、Spring Cloud、APNS、Firebase 该项目由众多微服务组成,我负责以下服务: 发现页服务 发现页服务提供实时财经咨询和用户实时讨论的功能,目前承载日活2w+用户,注册用户100w+ 的访问 首页用户发文列表:定时更新发文用户列表,使用xxljob作为分布式任务调度器,调度GRPC 流式接口批 量返回数据存储在大顶堆中,用户访问时调用用户服务接口将用户信息存储在redis hash中。由于首页并 发量很大,所以使用redis的分布式锁防止缓存击穿 首页文章列表: 查询后台配置的文章展示在首页中,使用Canal 解决redis 和 mysql 数据一致性问题 公司百科和热门榜单列表: 显示后台配置的公司和榜单,这肯定也会使用缓存,这部分数据只会让发现页 使用,放在redis的内存划不来,所以使用Ehcache来缓存。Ehcache 作为一个分布式缓存框架,配置简单 使用容易,就算在其他服务更新缓存也可以调用Ehcahe 提供的接口 首页作者关注: 新用户登录APP时,需要关注后台配置的作者。采用BitMap 存储用户是否完成此任务, 并异步储存到Mysql中(用于缓存重建),使用13M的内存就可以存储上亿用户。 推送服务 该服务封装了众多推送平台的SDK,承载20WApple用户,80W Android用户 日常推送,例:APNS、 FIREBASE、HUAWEI….., 说到这里肯定疑惑为什么不用极光,WestMoney 面向海外用户 需在GooglePlay上 架,Google那边审核如果使用Huawei会下架。 - 作者发送动态需要推送,使用canal 感知作者是否发文,调 用推送服务的推送接口 推送数据量很大,使用kafka 削峰和解耦、多线程推送。期间出现过消息挤压的问题,增加消费,多线程 解决此问题 要封装的SDK很多,使用策略模式和工厂模式保持代码的可扩展性、易读性 Firebase 的服务器在境外,网路很不稳定不能影响后续推送,使用Hystrix 进行服务熔断和降级, SpringRetry实现指数性重试 用户服务 用户服务提供了100w+ 用户的注册、登录、徽章、封号、注销等功能 封号、注销功能 只是用户的状态枚举值不同,采用责任链模式设计该功能 徽章是用户完成指定任务后发布的奖励,例:点赞狂魔、富豪… 这些用户行为数据分别存储在InfluxDb、 Mysql中,建立多时间维度的任务多线程查询InfluxDb中的用户指标存入统计库,Canal调用用户提供的 GRPC Stream 接口,发布用户徽章 登录、注册,使用OAuth协议 为用户颁发token,该协议是无状态的,所以用户发布不良言论被封号后 服 务不能及时感知,采用减少token的有效期来解决此问题 站内信服务 站内信服务提供关注用户动态消息、审核消息….. 该服务存储消息到Mysql,随着用户量慢慢增加,数据库也慢慢增大,和产品协商只保留30天内的消息, 使用Sharding-Sphare 来分库分表,以自然月为表名存储每月的消息。 视频服务 视频服务提供用户上传视频,将视频上传到火山云实现客户端点播的功能 为增加上传速度优化用户体验,使用Netty 框架基于Socket协议 实现上传的功能,Netty 高性能的异步IO 框架、基于责任链模式提供了JSON、Protol Buffer消息编解码。 使用Socket上传 是因为HTTP请求会有 请求头、请求体 使用不到的报文影响上传速度

0
2023-04-19 19:55
更新于: 2022-09-02 浏览: 206