项目目的
三峡影院为提高影院质量,增加影院收入以及更高效管理影院影片的上下架、影院排片而研发。本系统是一个针对影院网页的 浏览以及电影票的售卖和该影院后台数据管理的系统。系统功能全面,简单易用,可以帮助影院工作人员更轻松的管理影院各项 工作,提高工作效率。同时提供了客户端网页供给用户浏览、以查看各地区与不同品牌影院的详细信息、影片售票、订单管理、 优惠券管理、用户管理、会员管理等功能。
项目职责:
• 在项目开发过程中,主要负责项目后端环境搭建,项目前端vue环境搭建,以及电影信息模块儿的展示查询等
• 以springboot作为脚手架,搭建微服务,学习微服务相关组件,并向团队分享
• 配置nacos作为配置中心和注册中心组件
• 配置sentinel作为熔断和限流组件,来保证服务的稳定性
• 配置seata作为分布式事务管理组件,使用seata的AT模式来保证微服务之间相互调用时,可以进行事务管理
• 配置rabbitMq作为消息中间件,来传递信息
• 使用mybatis-plus的逆向工程,生成基本的CRUD
• 使用stream流对集合进行操作,简化开发,提高效率
• 使用vue和ElementUI来完成前端页面的编写,以及数据的展示
• 使用ElasticSearch作为全文检索引擎,来检索电影信息,将其展示给用户,并使用SpringQuartz制定定时任务,来及时更新
ElasticSearch中的电影信息,同时配置了ik分词器,以及配合nginx实现了自定义分词器
• 为了简化redis的使用,使用aop切面简单的自定义注解,将service层返回的数据放到redis中,并可以指定过期时间
• 使用redisson分布式锁来解决缓存击穿问题
• 为了保证生产订单接口的幂等性,使用jwt生成令牌,并保存到redis中,只有第一次访问生成订单接口,才允许创建订单
• 使用rabbitMq的延时队列,完成订单的倒计时,关单等操作,通过ack机制,ConfirmCallback确认回掉机 制,ReturnCallback退回机制完成,确保消息不会丢失