功能需求
用户在确认收货后可以对商品进行评价,每个用户对订单中的商品只能发布一次顶级评论,可以追评,也可以回复别人的评论 。当用户确认收货后没有进行手动评价时,3天后自动五星好评
表结构设计
和字段是用来实现评论嵌套的 。
实现
使用存储评论,基本的CRUD 。
1.2.5 配置中心微服务
需求
在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件 。在 Cloud中,有分布式配置中心组件,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库中 。
使用来实现配置的自动更新 。
组成结构
在 cloud组件中,分两个角色,一是 ,二是。
是一个可横向扩展、集中式的配置服务器,它用于集中管理应用程序各个环境下的配置,默认使用Git存储配置文件内容,也可以使用SVN存储,或者是本地文件存存储
是 的客户端,用于操作存储在 中的配置内容 。微服务在启动时会请求 获取配置文件的内容,请求到后再启动容器
实现
创建配置中心,对 进行配置,然后在其它微服务中配置。最后使用上的进行配置的动态刷新,所以还要使用内网穿透工具,同时要在配置中心中添加过滤器,因为使用提交请求时会加上一段,而本地是无法解析这个的,所以要将它过滤掉 。
1.2.6 页面详情微服务
商品详情浏览量比较大,并发高,所以单独开启一个微服务用来展示商品详情,并且对其进行静态化处理,保存为静态html文件 。在用户访问商品详情页面时,让nginx对商品请求进行监听,指向本地静态页面,如果本地没找到,才反向代理到页面详情微服务端口 。
1.2.7 后台管理微服务
主要是对商品分类、品牌、商品的规格参数以及商品的CRUD,为后台管理提供各种接口 。
1.2.8 订单微服务
文章插图
主要接口有:
1.2.9 注册中心
基本架构
主要功能就是对各种服务进行管理 。
1.2.10 搜索微服务
主要是对的应用,将所有商品数据封装好后添加到的索引库中,然后进行搜索过滤,查询相应的商品信息 。
1.2.11 秒杀微服务(新增)
主要接口有:
秒杀的实现及其优化:
前端:秒杀地址的隐藏、使用图形验证码
后端:接口限流,使用消息队列,调用订单微服务执行下单操作 。
TODO:需要改进~~~~~~~~~~~~~!!!!!!!!!!!!!
1.2.12 短信微服务
因为系统中不止注册一个地方需要短信发送,因此将短信发送抽取为微服务:leyou-sms-,凡是需要的地方都可以使用 。
另外,因为短信发送API调用时长的不确定性,为了提高程序的响应速度,短信发送我们都将采用异步发送方式,即:
1.2.13 文件上传微服务
使用分布式文件系统实现图片上传 。
架构
两个主要的角色:和。
文章插图
上传流程
通过 查找可用的。向返回一台可用的 的IP地址和端口号 。直接通过 返回的IP地址和端口与其中一台 建立连接并进行文件上传 。上传完成,返回一个文件ID,文件上传结束 。
下载流程
通过 查找要下载文件所在的的。向返回包含指定文件的某个 的IP地址和端口号 。直接通过 返回的IP地址和端口与其中一台 建立连接并指定要下载文件 。下载文件成功 。1.2.14 用户中心微服务
提供的接口:
- 基于Android的航班查询系统的设计与实现
- 安德海究竟是怎么死的安德海死因大揭秘
- 解密牛人高俅:从小秘书到一代权臣的发迹史
- 十三朝帝王之都的西安为什么没有成为首都
- 爷爷继承了孙子的皇位?奇葩争夺者到底是谁?
- 中国最古老的运河灵渠,秦始皇修建,历史贡献不比京杭大运河少
- 汉文帝的用人之术:广开言路经常处理无能官吏
- 李白和宗氏为什么分手?千金买壁的感情为何无疾而终!
- 民族英雄郑成功的铁人军:中国最后一支重装步兵
- 咸丰皇帝为何敢用犯过错误和对自己有威胁的人