1、具备扎实的Java基础,深入理解OOP编程思想,具有良好的编码习惯
2、具备Go项目开发经验,了解Go的web框架Iris、Beego,能够应用到实际开发
3、熟练掌握Struts2、Hibernate、Spring三大框架, 深刻理解Struts2核心流程,理解Hibernate的一二级缓存,理解Spring IOC、DI、AOP
4、熟练掌握SpringMVC、JPA&SpringData、SpringSecurity、web-Service、mybatis、Shiro等开源框架、深刻理解 SpringMVC 核心流程
5、熟悉JaveScript,Ajax,jQuery,Bootstrap,Bootstarp-table等前端开发技术
6、熟悉Oracle、MySQL、MariaDB 等关系型数据库,及MongoDB、Cassandra非关系型数据
7、熟悉Redis、Memcache 等基于key-value存储技术,及基于Java、Go应用开发
8、熟悉Dubbo、Zookeeper、Etcd、gRPC等分布式服务框架开发中应用技术
9、熟练使用 SVN、MAVEN 、Git、Jenkins等项目版本管理及构建工具
10、熟悉 Linux 常用命令和 Shell 及常用服务配置,搭建过Docker环境和项目的线上部署
项目 一:今目标移动网关管控平台系统
开发环境: Eclipse、Windows 7、JDK1.8、Tomcat7、Mariadb、Docker
软件架构: Spring4 + Mybatis + JSP + jQuery + Layer + Ajax + SpringSecurity + Zookeeper
项目描述: 该系统主要提供于今目标移动网关API统一管理平台,包括系统管理、API管理、业务系统管理、日志管理等,项目基于J2EE体系架构,实现了业务系统注册、发布,API动态发布管理、日志操作、一键关闭验签、登录校验等需求。数据持久化层使用Mybatis技术与底层数据库交互,API动态发布、一键关闭功能使用Zookeeper的watcher异步通知机制动态生效,用户权限操作采用SpringSecurity技术。
责任描述: 主要负责该项目的日志管理,API配置模块及调研Zookeeper技术
技术描述:
1、采用 Spring, Mybatis 作为底层架构
2、页面中使用 jQuery, Ajax 及 Layer插件以给用户更好的使用体验
3、使用 SpringSecurity 实现权限模块
4、使用 easyui tree + JSON 实现导航菜单的权限化
5、使用 Zookeeper的watcher异步通知机制动态操作API验签、登录校验、发布功能
项目 二:今目标移动网关业务系统
开发环境: Eclipse、Windows 7、JDK1.8、Tomcat7、Docker
软件架构: Spring4 + Zookeeper + Dubbo + Redis + Grpc + Quartz + Redis
项目描述: 该系统主要用于今目标移动网关API开发,包括个人账号、DDS(今看点)、移动支付、邮箱、手机工作台、审批公共组件等应用模块业务接口,底层调用Dubbo、gRPC服务,利用Dubbo技术对业务接口进行二次封装作为service端注册到Zookeeper供移动网关client端调用,H5通过移动网关访问业务API。
责任描述: 主要负责该项目的移动支付、邮箱、手机工作台、第三方应用等业务API开发
技术描述:
1、采用 Spring, Dubbo, Zookeeper 作为底层架构
2、业务方采用Dubbo、gRPC技术提供rpc业务接口, 该系统利用Dubbo技术进行二次封装
3、使用 Zookeeper 分布式服务框架作为注册中心
4、使用 Quartz 实现定时任务
5、使用 Redis 技术实现缓存,减缓移动端服务压力
项目 三:今目标Janus网关系统
开发环境: IntelliJ IDEA、Ubuntu 14.04、Go1.8、JDK1.8、、Mariadb 、Bazel、Docker
软件架构: grpc-gateway + SkyLB + Vexillary + Redis + Etcd3 + Iris + Protobuf3
项目描述: Janus系统是今目标提供的统一网关服务,服务基于grpc-gateway及移动网关团队的开发经验。Janus系统包涵Janus-gateway服务及Janus-manager服务。Janus网关服务(Janus-gateway)向前端提供API服务,端调用网关服务提供的RESTful接口,网关将请求通过gRPC转发给对应的服务。SkyLB为gRPC链接的外部负载均衡器。Janus链接SkyLB负载均衡后的的目标服务节点。基于此构造,Janus提供了诸如用户认证、API管理、监控、日志等基础服务。Janus管理服务(Janus-manager)提供了应用查看、修改,API配置查看、修改、发布及管理用户权限管理的相关功能。
责任描述: 主要负责Janus管理服务(Janus-manager)应用查看、API、日志模块开发
技术描述:
1、采用 Go, grpc-gateway, SkyLB,Vexillary作为底层架构. 其中grpc-gateway是GitHub开源基于gRPC框架的项目, SkyLB是今目标内部作为服务负载均衡项目,Vexillary是今目标内部为分布式服务架构开发的配置即时生效项目
2、使用 Etcd3分布式一致性k-v存储系统,用于异步通知与共享配置
3、使用grpc-gateway将网关RESTful请求通过gRPC转发对应服务