个人介绍
工作积极认真,细心负责,熟练运用办公自动化软件,善于在工作中提出问题、发现问题、解决问题,有较强的分析能力;勤奋好学,踏实肯干,动手能力强,认真负责,有很强的社会责任感;坚毅不拔,吃苦耐劳,喜欢迎接新挑战。
工作经历
2018-10-01 -2020-06-01福建优良信息科技后端工程师
承接各种软件开发,系统维护,网站建设,app 开发维护等。 主导业务、技术改造类项目的架构设计、分析和设计工作,承担核心功能、公共核心模块的代码编写;.跟进核心项目,接口规范制定,技术文档编写,确保项目进度和质量;针对新人、普通开发人员进行有效辅导,进行技术分享,帮助其快速成长;主导团队开发人员code review工作,并能提供性能优化、安全性建议。
教育经历
2014-06-01 - 2017-07-01西安交通大学计算机科学与技术本科
技能
随着社会经济的快速发展,社会治安形势的日益复杂,视频监控系统已成为智慧城市建设的重要组成部分。各大中型城市都加快了信息网络平台的建设,采用现有的高清网络科技的视频监控系统,以科技手段提高执法监督效率,推进“和谐社会”的构建,提高了工作人员的工作效率以及处理各种突发事件的反应速度。
超市订单管理系统是一个专为连锁店、超市等商业场所提供订单管理平台的系统。该系统的目标是建立一个订单管理平台,为需要合理规划超市供应链、供应商以及工作人员提供的便捷的平台。该系统的主要业务需求包括记录并维护某超市的供应商信息,以及该超市与供应商之间的交易订单信息,包括三种角色,系统管理员经理,普通员工。 本系统主要的功能是实现超市订单管理功能,以便为超市、连锁店提供以及其他负责人提供订单详情、联系方式等,系统的主要功能有以下五个方面: (1)登录/注销: 管理员可以在网站上登录浏览,离开时注销并退出。 (2)订单管理: 管理员可以浏览所有订单信息,并且通过点击查看了解订单详情信息。 (3)供应商管理: 管理员可以在网站浏览所有供应商信息,并在在与其他供应商达成合作之后,添加相关供应商信息,并且通过点击查看了解他们的联系方式等。 (4)用户管理: 管理员可以管理所有超市员工用户,对用户进行增删改查,对于离职或其他原因的未工作用户给予注销管理。 (5)密码修改: 管理员可对自己的账号密码进行修改,填写对应之前的正确密码以及新密码之后,即完成相关修改密码操作。 (6)搜索功能: 在以上管理界面中,均允许了管理员根据关键字进行搜索,要求搜索框中输入的字段必须完全包含在物品名称中,否则无法查询。
1. 前后分离开发,分为内网部署(后端集群)和外网部署(前端项目,包括*APP),外网是面向公众访问的。 2. 前端在页面上操作发送请求到后端,在这途中会经过Nginx集群,Nginx把请求转交给API网关(springcloud gateway)(网关可以根据当前请求动态地路由到指定的服务,看当前请求是想调用商品服务还是购物车服务还是检索服务),从路由过来如果请求很多,可以负载均衡地调用商品服务器中一台(商品服务复制了多份),当商品服务器出现问题也可以在网关层面对服务进行熔断或降级(使用阿里的sentinel组件),网关还有其他的功能如认证授权、限流(只放行部分到服务器)等。 3. 到达服务器后进行处理(springboot为微服务),服务与服务可能会相互调用(使用feign组件),有些请求可能经过登录才能进行(基于OAuth2.0的认证中心。安全和权限使用springSecurity控制) 4. 服务可能保存了一些数据或者需要使用缓存,我们使用redis集群(分片+哨兵集群)。持久化使用mysql,读写分离和分库分表。 5. 服务和服务之间会使用消息队列(RabbitMQ),来完成异步解耦,分布式事务的一致性。有些服务可能需要全文检索,检索商品信息,使用ElaticSearch。 6. 服务可能需要存取数据,使用阿里云的对象存储服务OSS。 7. 项目上线后为了快速定位问题,使用ELK对日志进行处理,使用LogStash收集业务里的各种日志,把日志存储到ES中,用Kibana可视化页面从ES中检索出相关信息,帮助我们快速定位问题所在。 8. 在分布式系统中,由于我们每个服务都可能部署在很多台机器,服务和服务可能相互调用,就得知道彼此都在哪里,所以需要将所有服务都注册到注册中心。服务从注册中心发现其他服务所在位置(使用阿里Nacos作为注册中心)。 9. 每个服务的配置众多,为了实现改一处配置相同配置就同步更改,就需要配置中心,也使用阿里的Nacos,服务从配置中心中动态取配置。 10. 服务追踪,追踪服务调用链哪里出现问题,使用springcloud提供的Sleuth、Zipkin、Metrics,把每个服务的信息交给开源的Prometheus进行聚合分析,再由Grafana进行可视化展示,提供Prometheus提供的AlterManager实时得到服务的警告信息,以短信/邮件的方式告知服务开发人员。 11. 还提供了持续集成和持续部署。项目发布起来后,因为微服务众多,每一个都打包部署到服务器太麻烦,有了持续集成后开发人员可以将修改后的代码提交到github,运维人员可以通过自动化工具Jenkins Pipeline将github中获取的代码打包成docker镜像,最终是由k8s集成docker服务,将服务以docker容器的方式运行。