熟悉java,对jvm有一定研究。
熟悉Spring、SpringBoot等相关技术,Spring Cloud等相关组件,Dubbo、HSF,以及Restful等远程调用框架。
对区块链和devops有一定研究和参与。
掌握Maven、Gradle等构件工具,Git、SVN等版本控制工具。
熟悉Nginx等负载均衡、Redis等相关缓存中间件。
熟悉Docker、 k8s等相关容器技术。
熟悉消息中间件,如RabbitMQ、Kafka等。
熟悉Zookeeper,Nacos,Eureka等注册中间件,对微服务有一定研究和使用。
熟悉前端开发,如Node编程,Vue等前端开发框架。
掌握各类数据库的使用,以及分布式数据库解决方案,HaProxy+KeepAlived+Mycat等。
熟悉Linux的常用命令和Shell编程。
对Go和Python有一定了解。
精通数据库.
Paas平台开发 项目介绍:Paas平台是为了解决公司提供云服务的解决方案平台,为了适应快速的给用户搭建应用和快速启动需要的中间件提供技术支持,方便项目更快的运行和扩缩容,以及适应云原生背景下的诉求。
涉及技术: SpringBoot、Mybatis、K8s、ZK、MQ、SpringCloud、配置中心等。
工作职责:
1. 参与Paas平台的架构设计和核心基础的开发以及技术选型。
2. 负责分布式数据库的设计和开发。
难点攻克:
当进行启动时,由于是有状态的应用,需要确保内存数据库启动的顺序,并进行相应的主从分布,而后借助k8s的Statefulset来进行处理,以及集群在内网,不能通过ip进行配置,而后考虑使用代理中间件来进行代理并暴露统一的端口,并通过代理来完成对重定向的转发,还有就是对监控的统一处理,采用prometheus来进行数据的监控管理,并提供相应的推拉模型。
构建化开发平台 项目介绍:开发框架5.0是基于JavaEE系列技术,采用微服务架构的应用软件通用开发平台,提供了一揽子应用软件开发或运行管理所需要的开发规范、教程、开发工具插件、通用组件或软件功能。
涉及技术: SpringBoot相关技术,分布式技术,Mybatis、Docker、ZK、Redis等。
工作职责:
1. 参与数据库的设计以及核心模块的开发。
2. 负责组织管理、权限管理、分布式缓存等模块的开发和维护,以及部分前端组件的开发。
3. 负责公司框架对项目的技术支持和培训框架使用。
难点攻克:
当进行部分大量数据进行Redis的缓存操作时,由于加锁造成效率低下,经过一番调研和jvm的排查,后期通过细粒度的读写锁和redis的管道操作进行解决。
适配其他框架时,由于都采用了ThreadLocal,造成部分数据重写,而后基于接口进行适配,其他框架都进行设置一个基于公司的本地变量,这样在获取的时候,既能获取到其他框架的本地变量,也可以获取到公司框架的变量信息。
统一存储 项目介绍:统一存储的产品定位在于解决现今大型项目文件存储混乱的问题,该系统提供统一的接口进行上传和下载。
涉及技术: Spring Cloud相关技术、Dubbo、Webservice等相关协议,UCM、七牛云等云存储。
工作职责:
1. 负责产品部分规划设计(逻辑调用、存储接口等)
2. 整个后台的框架搭建以及核心代码的编写
3. 后期维护(已交付其他部门维护)
难点攻克:
部分用户期望单一部署或者是省市部署,开发了一套基于配置的存储项目,用户可自定义选择希望部署成何种方式。
开发运维一体化平台(devops) 项目介绍: 开发运维一体化平台的产品定位在于解决公司内部和外部的各个系统不能进行有效统一管理的痛点,以及项目从立项,持续集成和持续发布,以及后期运维提供一套完整的开发流程和管理。
涉及技术: Spring Cloud相关技术,SEATA、Jenkins、Ansible、Kafka、Groovy、k8s、Websocket,Maven、Gitlab等
工作职责:
1. CI和CD的前后端设计和编码
2. 基于Ansible的持续发布项目编码
3. 后期维护
难点攻克:
基于消息的推送,当部署多个应用时,造成数据读写不一致,出现流水线混乱,后期抽成一个消息平台,所有消息都到消息平台获取数据,解决了数据不一致的情况。
当拆分成多个模块应用时,调用无法完成事务操作,借助于阿里的Seata,进行数据处理。
区块链框架以及区块链浏览器 项目介绍: 区块链框架的产品定位是解决不同区块链框架的适配以及不同环境下的部署,并保护参与方的个人隐私和数据,区块链浏览器是解决用户参与区块链时的数据统计和区块、交易、节点的查看。
涉及技术: fabric、grpc、k8s、go、ca、node、vue、shell编程等
工作职责:
1. 负责区块链浏览器的前后端设计与研发
2. 负责区块链框架的部分核心编码(数据同步、日志管理、权限管理)
3. 底层抽象和编码
难点攻克:
Fabric的部分代码研究以及连接fabric网络的peer节点通信和同步线程研究。
链码解析并自动注册服务平台,提供restful接口给开发者进行相应调用,简化开发流程,轻松上链。
区块链数据库交易的获取,由于翻遍所有的搜索都没有准确的结果,而后进行自行阅读源码,获取到了相应的数据信息,然后将其进行存储和相应的展示。
Paas平台是为了解决公司提供云服务的解决方案平台,为了适应快速的给用户搭建应用和快速启动需要的中间件提供技术支持,方便项目更快的运行和扩缩容,以及适应云原生背景下的诉求。
开发运维一体化平台的产品定位在于解决公司内部和外部的各个系统不能进行有效统一管理的痛点,以及项目从立项,持续集成和持续发布,以及后期运维提供一套完整的开发流程和管理。