美妆商城

我要开发同款
fengyx2023年05月07日
175阅读
所属分类零售电商

作品详情

项目名称:美妆电商 项目简介:基于SpringBoot + SpringCloud Alibaba + MyBatis Plus等框架的分布式微服务商城系统;基于docker环境部署、nginx反向代理和动静分离,MySQL作为数据库,Redis作为缓存和分布式锁使用、elasticSearch作为检索服务等;实现功能:第三方登录、商品SPU/SKU管理、商品上架、商品搜索、购物车、订单服务、第三方支付、秒杀服务等。项目职责:1.运维:将mysql、redis、ngxin,elasticsearch、kibana、nacos(注册中心)、sentinal等都部署到docker上2.商品模块:通过thymeleaf渲染显示商品的首页 ,由于吞吐量较小,为了提高系统性能,从以下方面进行性能调优:1)为经常查询的字段建立索引。2)用nginx动静分离的手段。3)为jvm配置合适的参数及垃圾回收算法。4)将一些不变的数据放入redis缓存中,但查询的过程可能遇见redis缓存穿透、击穿、雪崩等现象,用到redis分布式锁来解决5)工具:jmeter,jvisualvm、idea、3.搜索模块:由于吞吐量较小,商品模块和搜索模块和库存模块进行elasticsearch搜索1)将数据库的商品模块和是否有库存等封装成vo存到elasticsearch中。2) 将elasticsearch查询出来封装model渲染到搜索框和一级商品和二级商品。3)将通过关键字查询,三级商品id,品牌id,分类,商品属性,综合排序,销量,价格,价格区间等条件进行elasticsearch的查询,然后通过thymeleaf整合到前端中。4)工具:kibana,elasticsearch。4.商品详情模块:(CompletableFuture之runAsync,supplyAsync,thenApplyAsync,future01.thenCombineAsync(组合两个线程,两个都完成任务),applyToEitherAsync(组合两个线程,只要有一个线程完成任务),allOf(取查询的最大时间),anyOf.get(等待所有线程都执行完),anyOf(只要有一个任务完成后))。1)通过点击每个商品,跳转到商品的详情页。2)查询数据库的info(图片,标题,价格),图片,该商品销售属性(属性名,属性多个值),描述(商品图片),该商品规格参数信息(组名,属性名,属性值)5.购物车模块:由于吞吐量较小,为解决响应速度问题 1)将购物车的数据库数据查询redis中,redis的数据结构为 2)用juc,创建合适的线程池参数,调用多查询的异步编排调优(CompletableFuture之runAsync)。6.认证模块:用户的登录(用户名,密码的登录和微博的第三方授权登录)7.订单模块 1)点完结算,首先对订单所有的页面进行(订单确认页,支付页,列表页,详情页)的登录拦截功能(拦截器)。 1)订单确认页通过异步编排调优查询(地址信息,购物车信息,是否有库存,商品总价,运费等信息); 提交完订单后用到防重提交(接口幂等性(生成的uuid保存在redis中,和前端页面中进行对比)),就可以调用第三方接口进行支付 (微信、支付宝支付),根据登录用户的信息 ,随机生成收款人 地址信息 ,然后进行支付。8.秒杀模块: 1)每天同一时刻对系统进行商品的抢购功能,定时器功能。9.后台管理(springboot+vue+element-ui)
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论