框架:熟练掌握spring,springboot,springmvc,mybatis等J2EE开发使用到的mvc框架,能熟练应用以及理解部分原理。自学过springcloud分布式框架,了解并使用过部分组件。
队列:熟练使用rabbitMq,并对集群和消息持久等有一定的理解。了解并使用kafka进行日志信息的消息发送。
缓存:熟练使用redis来当作缓存,缓解数据库读写压力,以及在分布式锁中的应用。了解redis的各种集群模式,以及redis寻址算法有一定了解。 使用过elasticsearch的各种restFul风格API,对倒排索引,文档等概念有一定理解。
数据库:熟练使用mysql关系型数据库,以及各种增删改查的sql语法,有过sql调优经验,理解数据库事务、锁、引擎、索引等概念以及部分相关原理。
应用工具:熟练使用tomcat web服务器,了解Nginx反向代理服务器,熟练使用ideal开发工具开发,熟练掌握git仓库的管理及应用,熟练使用maven项目管理插件,熟练使用jekins服务器管理工具,对linux部分指令熟练使用,主要为查看日志的部分命令,以及查找进程杀死进程等命令。
Java基础:熟练掌握java各种语法,清楚jdk1.8新特性并能熟练应用。熟练使用java的反射,动态代理等机制。有较为深入的了解jdk部分源码并理解其原理,熟练应用多线程,并理解java中的各种锁。
Jvm:了解jvm内存模型以及类加载过程和,对gc垃圾回收过程,回收算法,标记算法等有一定了解。
● logserver:采用es+springboot+kafka+zookeeper搭建,提供插入日志和查询日志的备用接口。服务器中搭建kafka用作传输数据,生产端为各个需要收集日志的系统,服务端为logserver,主要作用是将项目中一些日志和报文收集起来储存在es上面以供查询。
● crawler:采用springboot搭建,不储存数据。主要作用是跟第三方电商平台对接,对内部提供http接口,提供包括拉取订单,标记发货,token属性等在内的操作。
● canal:该项目是基于阿里的canal开源项目搭建的,canal服务端当作mysql集群的子节点,当mysql执行sql语句的时候,会通过binlog将相关操作同步给集群的子节点,canal收到同步信息后会通知canal客户端,由java开发,自己维护。主要用于数据库监听,在数据有变化的时候,发布消息到mq,让其他模块处理,起到解耦的作用。
● general:该项目的主要业务为物流相关,包含大量的定时任务,物流下单,物流查询,从crawler拉取订单,标记发货等业务。
● searchserver:springboot+es的架构,主要作用是查询es上面的各种数据,以及同步数据库数据跟es数据,提供查询es数据和修改es数据的接口,当数据库中对应数据发生变化时,会有mq消息通知searchserver来更新es中的文档数据。
● b5c-api:架构为spring+springmvc+mybaties+redis+mysql,该模块的主要业务为库存相关业务。包括,入库,出库,调拨,组合批次,拆分批次等一些库存操作相关的接口。
架构为spring+springmvc+mybaties+redis+mysql,该模块的主要业务为库存相关业务。包括,入库,出库,调拨,组合批次,拆分批次等一些库存操作相关的接口。
该项目的主要业务为物流相关,包含大量的定时任务,物流下单,物流查询,从crawler拉取订单,标记发货等业务。