微服务介绍

注册微服务:LyRegister
使用Spring Cloud Netflix中的Eureka实现了服务注册中心以及服务注册与发现;
服务间通过Ribbon和Feign实现均衡负载以及服务的消费;
为了使得服务集群更为健壮,使用Hystrix的融断机制来避免在微服务架构中个别服务出现异常时引起的故障蔓延;

网关微服务:LyGateway
一切对服务的请求都会经过Zuul这个网关,然后再由网关来实现 鉴权、动态路由等等操作,Zuul作为服务的统一入口

**商品微服务(上):LyItemApplication、商品微服务(下):**LyItemApplication
首先分析了商品表结构,最终基于商品类别去设计了表结构,每个分类下的商品规格参数key(参数)和值(参数的值)分开保存,
key跟商品分类绑定,值跟商品绑定,解决全品类电商的spu和sku管理问题
实现了品牌的查询,返回结果是总条数、总页数、当前页商品信息,将上述信息封装成PageResult,因为其他微服务也将频繁返回这个分页结果,
涉及到的操作有:分页、过滤、排序、查询,最终解析分页结果得到返回值
实现了品牌的新增,但是注意Mapper只能处理单表Brand,无法新增中间表tb_category_brand,因此要自己写sql语句
商品规则组与规格参数的查询
商品的查询
商品的新增,新增界面首先选择商品的分类,之后选定品牌,这时首先需要实现根据商品分类查询品牌的功能;描述商品信息使用富文本编辑器,
我们采用的是一款支持Vue的富文本编辑器:vue-quill-editor;添加商品规格参数,首先要根据分类id查询规格参数,查询完成后填写参数,
最后提交表单;提交表单即新增商品,同时要更新spu、spu_detail、sku、stock四张表的信息
修改商品信息,修改之前要先查找,除了查找spu信息还要查找sku信息;spu数据可以修改,但是SKU数据无法修改,
因为有可能之前存在的SKU现在已经不存在了,或者以前的sku属性都不存在了。比如以前内存有4G,现在没了,因此这里直接删除以前的SKU,然后新增即可

上传微服务:LyUpload
分布式文件上传系统FsatDFS来实现图片的上传,克服传统上传方式存在的问题:

1)文件越传越多,启动加载的速度会越来越慢;
2)tomcat解析静态资源速度非常慢;
3)有单点故障问题,如果一台服务器挂了整体图片功能都会受到影响;
4)无法进行水平扩展,因为多台机器的文件无法共享,会出现访问不到的情况
实现步骤为:校验格式、校验内容、上传到FastDFS(storageClient.uploadFile(文件流,文件大小,扩展名,null)),最终返回URL路径

搜索微服务:LySearchApplication
使用的是Spring提供的Spring Data Elasticsearch(原生的需要自己拼接字符串),并利用ElasticsearchTemplate创建索引和生成映射
分析搜索结果的数据结构,将搜索结果封装为一个类Goods
将查出来的数据导入索引库
实现商品分类和品牌的聚合,再去分页、过滤、查询、解析查询结果

©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页