1.精通Java、JVM内存调优有线上JVM调优经验。
2.精通java并发编程, 对java的锁机制、线程池机制等都有深入研究,并在项目中熟练使用。
2.精通spring、springboot、Mybatis,阅读过相关源码并根据需要扩展。
3.深入理解springboot,spring cloud alibaba等微服务框架的设计原理及底层架构研究过核心源码,熟悉各种微服务架构场景设计,比如服务注册与发现,服务限流、降级、熔断,服务网关路由设计等。
4.精通分布式事务,阅读过2PC、TCC相关组件的源码,设计可靠消息最终一致性方案、最大努力通知方案。
5.精通Mysql,具有sql优化、分库分表、索引优化、性能调优等丰富的实战经验。
6.深入理解Redis线程模型,熟练掌握redis的核心数据结构的使用场景,熟悉多级缓存架构,熟悉各种缓存高并发的使用场景,比如缓存雪崩,缓存穿透,缓存失效,热点缓存重建等。
7.消息中间件精通rabbitMQ、使用过kafka,解决过各种消息通信场景的疑难问题,比如消息丢失、消息重复消费,消息顺序性,大规模消息积压问题。
8.负载均衡:熟练使用Nginx等负载均衡组件。
10.容器化布署:docker,具有搭建kubernetes集群并运维经验。
11.熟悉使用Golang语言进行开发有3年工作经验。
12.熟悉html、css、jquery、vue、uniapp开发有2年工作经验。
支付收银台系统
由于之前支付服开发中和业务深度耦合随着业务的扩大代码越发沉重及在业务需求变更进行快速迭代开发,也 不利于后期随着业务的升级带来的需求变化,在应对高并发场景时出现数据丢失及服务不可用。从而开发了新的支付收银台系统,有效的为13000+家酒店进行服务,特别是法定节假日带来的高并发问题得效的解决,系统集成常见的支付沟道并开发交易中心、商户服务、帐务中心、风控服务。
1.服务治理发现、配置中心使用nacos
2.分布式事务seata主要应用于交易中心的支付功能采用TCC事务,保障支付,风控,分帐处理的一致性,支付网关回调采用可靠消息最终一致性设计,保证扣款,分帐的最终一致性
3.采用Redisson、lua实现的分布式锁方案解决分布式并发需要加锁的场景
4.使用RabbittMQ对低耦合业务进行异步处理
5.基于分布式搜索系统ElasticSearch+Kafka+MongoDB自研的Trace进行链路追踪和日志统计
6.使用Sentinel进行流量控制、熔断降级、系统负载保护等保持服务的稳定性
7.使用springcloudalibaba、springboot开发微服务
8.容器化布署:docker、kubernetes集群
9.网关:springcloudgateway