谷粒商城 后端开发
● 项目介绍:谷粒商城是一个微服务项目,总体上分为前台购物模块和后台数据
管理模块。前台商城系统包括:用户登录、注册、商品搜索、商品详情等模块。后
台管理系统包括:商品系统、优惠营销、库存系统、订单系统、用户系统等。其中
的基本功能都实现,部分细节功能由于时间原因未能实现。
● 项目重点:作为分布式项目,nacos担任了各个微服务的注册中心和配置中心。
各个微服务之间的通信则通过openFeign调用。权限控制和登录通过整合
SpringSecurity实现。为了专注于业务逻辑,减少sql的编写,项目整合了
MybatisPlus,开发效率也因此得到显著提升。在进行查询时,对于数量多且实时
性要求不高的数据或token,可以通过redis将其缓存,从而减少数据库的压力,同
时通过redisson加分布式锁进行访问控制。而在进行商品查询时,使用
elasticsearch全文搜索引擎以达到相关性匹配和高性能搜索。在订单业务中为实现
订单到期未付款进行自动关闭订单和解锁库存同时实现高并发,使用了延时队列进
行控制以达到分布式事务的最终一致性,在下订单时为了实现幂等性,通过防重令
牌加以实现。为了方便业务中读取用户信息,使用ThreadLocal进行存取。
● 主要技术:Springboot + SpringSecurity + SpringCloud +
SpringCloudA l ibaba + MyBatis-Plus + Redis + rabbitMQ
● 个人收获:对分布式开发有了一定的经验,对springcloud组件有了一定了解,
对springsecurity有了一定了解,对redis,redisson有了一定了解,对rabbitmq有
了一定了解
奇趣世界 后端开发
内容:
工作描述:根据需求分析,编写代码,为奇趣世界项目模块实现具体功能和特
性。
项目描述:奇趣世界是一款专为低龄用户打造的教育类软件,采用了分布式开
发。
项目职责:本人主要负责消息推送模块的接口设计、接口开发、部分数据库表
的设计,缓存配置数据和提现和发票详情接口的优化,平台用户处罚和投诉理
由的接口开发。由于详情接口涉及的数据库表比较多,为了提高查询效率,减
少冗余记录,采取了关联单表查询的方式,并采用mybatis-plus实现以加快开
发效率;对于配置项而言,读多写少,实时性要求不高,所以将其存入redis缓
存,读取配置时先读缓存,再读数据库,同时为了为了解决分布式系统中的并
发问题,采取分布式锁Redisson进行控制;为实现通知推送,使用rabbitmq作
为中间件以达到削峰解耦,在消费者中监听到消息后通过极光推送推送至用
户,在特定情况下需使用定时器触发。在查询用户列表时,需要关联五张表进
行查询,并根据不同的筛选条件作出判断之后再进行赋值返回,最后为了在规
定时间内恢复用户的功能需要定时器每天定时扫描判断是否恢复对用户的限
制。
成果:
认识到了代码规范以及团队沟通的重要性,同时了解了swagger的使用
在真实项目中接触到分布式开发,加深了对分布式开发的理解。
熟悉了redis的使用,对redis的原子性自增有了一定了解,同时了解了redisson
分布式锁。
对消息队列有了一定了解
sql编写能力得到提升
对定时器有了一定了解