酒旅项目总结

文章目录

  • 一、 项目描述(项目背景)
  • 二、 项目架构
  • 三、 项目结构以及用到技术
  • 四、 我对项目的贡献,以及我学到的东西
  • 五、我对本次项目的感悟

一、 项目描述(项目背景)

依托微信小程序和App 客户端提供线上预订酒店和旅游产品的互联网产品

  • 解决用户的痛点1:加快的用户搜索酒店和预订酒店的效率
  • 解决用户的痛点2:售后功能保证了用户的合法权益
  • 解决用户的痛点3:基于数据分析提供给用户多需求场景的组合产品

二、 项目架构

酒旅项目总结_第1张图片
项目架构自我描述:
首先客户端发起请求,然后通过DNS域名解析,解析为ip 地址后,将请求打到Nginx 集群,nginx 本身有负载均衡的能力,nginx 然后将请求反向代理到Gateway 网关,然后Gateway 网关进行处理之后,请求打到服务端业务部分,在网关和业务集群部分,我们使用的是Ribbon 作为负载均衡,Sentinel 做的熔断降级处理。然后在业务集群中涉及到一些分布式锁,分布式事务的处理。项目的注册中心采用的是Nacos,配置中心也采用的是Nacos ,监控中心采用的是Skywalking,主要用于链路追踪和服务报警,LogStash 作为日志收集工具。使用redis 做的缓存,使用mysql 制作的持久化,使用RabbitMQ 做的消息队列,使用ES 做的全文检索,使用minio 作为对象存储服务,使用XXL-JOB 作为任务管理调度的服务。项目注册在gitee,使用Docker 部署,使用 k8s 管理Docker 集群。

三、 项目结构以及用到技术

酒旅项目总结_第2张图片
用到的技术及说明:

  1. SpringBoot 作为容器 和 MVC 框架
  2. SpringSecurity 认证和授权框架
  3. MyBatis ORM 框架
  4. Elasticsearch 搜索引擎
  5. RabbitMQ 消息队列
  6. Redis 分布式缓存
  7. MongoDB NoSql 数据库
  8. LogStash 日志收集工具
  9. Kibina 日志可视化查看工具
  10. Nginx 静态资源服务器
  11. Docker 应用容器引擎
  12. Jenkins 自动化部署工具
  13. Druid 数据库连接池
  14. OSS 对象存储
  15. MinIO 对象存储
  16. JWT JWT 登录支持

四、 我对项目的贡献,以及我学到的东西

贡献: 在本次项目中我主要负责酒店用户评论这个小模块,主要完成了用户的评论内容的增加、删除和查阅的接口,以及回答内容的增加、删除、和查阅接口,以及随机邀请用户的接口的处理。
学到的东西: ①本次项目中首先认识到企业中完整的开发流程是什么样的。②然后在设计数据库中应该遵循的一些规范(如:是否一类的字段不能用is 开头,以及尽量字段不为空等规范)。③在接口设计的时候应该通过业务分析确定有哪些接口,以及接口设计命名应该具有层次感,尽量符合RESTful 风格,通过接口的命名最好可以快速知道接口的功能是什么。④在编码方面,主要是对异常处理方面,尽量封装全局的异常处理类,通过调用方法的方式来抛出异常,这样能增加代码的可读性。⑤学会了使用Hutool 工具去进行一些方法的使用,如判空对象之类的操作。⑥在构建查询对象时,尽量使用 LambdaWrapper ,然后通过 函数式编程的方式,去替换掉那些硬编码的地方,从而增加程序的可扩展性,和健壮性以及可维护性。⑦必须明确每个层干什么事,dao 层主要负责继承接口和自定义的MappendStament 对象,Service 主要负责业务类的书写,Controller 主要负责调用业务类的方法即可,不做判断,直接返回结果即可。

五、我对本次项目的感悟

在本次项目中,首先了解了企业开发项目的流程和规范,后端程序员应该负责哪些工作,其次是在对数据库设计和接口规范设计有了规范的概念。通过每次组内会和整体会议,了解到别的同学是怎么看待问题的,怎么学习的,怎么编写代码的,别的同阶段的同学现在知识掌握到什么程度。通过项目的学习,清楚的认识到自己还有很多欠缺的技术去学习,很多东西还不够熟练,更是不知道其原理性的东西。所以,继续加油吧!!

你可能感兴趣的:(java,tomcat,spring)