技术栈:SpringBoot +Spring+SpringMVC+Mybatis+MySQL+Redis
项目描述:本项目是专门为解决大学生想要在寝室中吃零食却不想出门这一痛点而实现的零食售卖平台。该项目分为用户端和商家端,商家端可以在后台网页端实现登录,以及对于商品,套餐,订单的管理,用户端可以在小程序端进行在线浏览商品,添加购物车,修改收货地址,下单等操作;
负责功能:
1.登录及身份验证使用JWT令牌技术,使用自定义拦截器完成用户认证(token校验),判断用户是否处于登录状态,将用户信息存入ThreadLocal,解决HTTP请求无状态的问题;
2.使用Redis缓存热点数据如分类商品,并使用Spring Cache优化代码,提高系统性能和响应速度;
3.为了解决缓存一致性的问题,在系统中采用主动更新+延迟双删的缓存更新方案,满足较高的数据一致性;
4.通过WebSocket实现客户端与服务端的长连接,并实现来单提醒及用户催单等功能;
5.使用SpringTask实现订单状态的定时处理,超时未支付自动取消订单。
技术栈:SpringBoot+Mybatis+MySQL+Redis+SpringCloud Alibaba+nacos+kafka
项目描述:本项目主要为用户提供一个方便快捷的看漫画网站,用户可以根据分类观看漫画,也可以通过搜索框搜索想要观看的漫画,用户登录后可以收藏,评论漫画,根据漫画的评分和热度会有不同的排行榜,部分漫画需要开通vip才可以观看。
负责功能:
1.通过导入Tess4J依赖,对上传的漫画图片提取出文本内容和图片,使用DFA对自定义敏感词进行过滤,然后调用阿里云第三方接口对图片和文字进行审核,解决了人工审核审核速度慢的痛点;
2.使用Redis实现延迟任务,定时发布漫画,考虑到多线程的并发问题,使用分布式锁来解决集群下的方法抢占执行;
3.通过kafka消息中间件实现异步通知漫画上下架,解决了高并发情况下响应速度慢的缺点;
4.为了提高查询效率,使用ElasticSearch索引库,将查询到的漫画信息批量导入到es索引库中;
5.通过xxl-job获得固定时间的漫画数据,对于浏览量,评论,收藏,分配不同的权重,计算总分值来选出热门漫画;