自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(91)
  • 问答 (1)
  • 收藏
  • 关注

原创 谷粒商城-支付业务

支付宝支付

2022-10-23 10:57:21 1805 1

原创 谷粒商城-订单服务

延时队列

2022-10-06 14:15:50 1920

原创 谷粒商城-分布式事务

CAP、seata

2022-09-14 20:16:16 1117 1

原创 谷粒商城-订单业务

防重令牌 锁库存

2022-08-21 16:44:58 1363

原创 谷粒商城-消息队列

rabbitmq

2022-07-20 22:55:29 777

原创 谷粒商城-购物车

谷粒商城购物车

2022-07-14 23:31:18 694

原创 ActiveMQ的基础

activemq安装activemq与springboot整合

2022-06-28 23:43:46 3657

原创 Linux之常用命令

linux之常用命令

2022-06-26 18:57:25 352

原创 谷粒商城-认证服务

目录商城业务-认证服务-环境搭建商城业务-认证服务-好玩的验证码倒计时商城业务-认证服务-整合短信验证码商城业务-认证服务-验证码防刷校验商城业务-认证服务-一步一坑的注册页环境商城业务-认证服务-异常机制商城业务-认证服务-MD5&盐值&BCrypt商城业务-认证服务-注册完成商城业务-认证服务-账号密码登录完成商城业务-认证服务-OAuth2.0简介商城业务-认证服务-weibo登录测试商城业务-认证服务-社交登录回调商城业务-认证

2022-05-31 17:16:14 1957 1

原创 谷粒商城-商城业务-异步

目录商城业务-异步-异步复习商城业务-异步-线程池详解商城业务-异步-CompletableFuture商城业务-异步-CompletableFuture-启动异步任务商城业务-异步-CompletableFuture-完成回调与异常感知商城业务-异步-CompletableFuture-handle最终处理商城业务-异步-CompletableFuture-线程串行化商城业务-异步-CompletableFuture-两任务组合-都要完成商城业务-异步-Comple

2022-05-17 17:52:23 398

原创 谷粒商城-商城业务-商品详情

目录商城业务-商品详情-环境搭建商城业务-商品详情-模型抽取商城业务-商品详情-规格参数商城业务-商品详情-销售属性组合商城业务-商品详情-详情页渲染商城业务-商品详情-销售属性渲染商城业务-商品详情-sku组合切换商城业务-商品详情-异步编排优化商城业务-商品详情-环境搭建京东搜索页的域名为:search.jd.com京东详情页的域名为:item.jd.com①为商品详情页配置域名②nginx中之前已经配置Okcd mydat...

2022-05-17 17:51:52 688

原创 谷粒商城-商城业务-检索服务

目录商城业务-检索服务-搭建页面环境商城业务-检索服务-调整页面跳转商城业务-检索服务-检索查询参数模型分析抽取商城业务-检索服务-检索返回结果模型分析抽取商城业务-检索服务-检索DSL测试-查询部分商城业务-检索服务-检索DSL测试-聚合部分商城业务-检索服务-SearchRequest构建-检索商城业务-检索服务-SearchRequest构建-排序、分页、高亮&测试商城业务-检索服务-SearchRequest构建-分析&封装商城业务-检索服务-

2022-05-10 13:41:05 2307

原创 谷粒商城-缓存-SpringCache

目录缓存-SpringCache-简介缓存-SpringCache-整合&体验@Cacheable缓存-SpringCache-@Cacheable的细节设置缓存-SpringCache-自定义缓存配置缓存-SpringCache-@CacheEvict缓存-SpringCache-原理与不足缓存-SpringCache-简介缓存的编写逻辑:查询缓存,缓存命中从缓存中获取;缓存未命中则从数据库中查询并存入缓存。对于数据一致性问题可以采用:①双写模式 ②失效

2022-04-30 13:25:15 1532

原创 谷粒商城-缓存-分布式锁

目录缓存-分布式锁-分布式锁原理与使用缓存-分布式锁-Redission简介&整合缓存-分布式锁-Redission-lock测试缓存-分布式锁-Redission-读写锁测试缓存-分布式锁-Redission-读写锁补充缓存-分布式锁-Redission-信号量测试缓存-分布式锁-缓存一致性解决缓存-分布式锁-分布式锁原理与使用我们可以向redis中存储一个map,其中key为lock,value可以是任意值。由这个map充当我们分布式锁,为什么这个

2022-04-30 08:49:33 579

原创 谷粒商城-缓存-缓存使用

目录缓存-缓存使用-本地缓存与分布式缓存缓存-缓存使用-整合Redis测试缓存-缓存使用-改造三级分类业务缓存-缓存使用-压力测试出的内存泄漏及解决缓存-缓存使用-缓存击穿、穿透、雪崩缓存-缓存使用-加锁解决缓存击穿的问题缓存-缓存使用-本地锁在分布式下的问题缓存-缓存使用-本地缓存与分布式缓存使用缓存的好处:提升系统的性能什么样的数据适合存储到缓存中?①及时性、数据一致性要求不高的数据,例如物流信息、商品类目信息②访问量大更新频率不高的数据(读多、写少)

2022-04-23 20:16:35 1305

原创 谷粒商城-性能压测

目录压力测试-基本介绍压力测试-JMeter安装与使用压力测试-JMeter在windows下地址占用bug解决性能监控-堆内存与垃圾回收性能监控-jvisualvm使用优化-中间件对性能的影响优化-简单优化吞吐量测试优化-ngixn动静分离优化-模拟线上应用内存崩溃宕机情况优化-优化三级分类数据数据获取压力测试-基本介绍1.性能指标性能指标主要关注:①吞吐量②响应时间③错误率2.压力测试压力测试的目的发现:①是否存在内存泄漏②..

2022-04-21 22:50:20 783

原创 谷粒商城-nginx

目录搭建域名访问环境一(反向代理配置)搭建域名访问环境二(负载均衡到网关)搭建域名访问环境一(反向代理配置)正向代理:就是你想访问给GitHub但是访问不到,因此,你配置代理服务器的地址去访问GitHub反向代理:就是为了不让服务的地址暴露,通过访问nginx来访问服务域名解析的规则:①先解析本机是否有相应的映射规则访问localhost即访问127.0.0.1②DNS域名解析获取相应的ip地址由于每次修改hosts文件太麻烦了,因此,安装S...

2022-04-20 12:04:18 4723 2

原创 谷粒商城高级篇-首页-整合thymeleaf渲染三级类目

整合Thymeleaf渲染首页谷粒商城前端的代码请自行下载为了分担服务的压力,将服务的静态资源部署到nginx中从而实现动静分离最终目的 :整合thymeleaf①product服务中导入thymeleaf依赖<!--导入thymeleaf依赖--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>..

2022-04-20 09:26:41 1289

原创 谷粒商城高级篇-商品上架

商城业务-商品上架-sku在es中存储模型的分析首先,需要上架的商品才能被检索,可以按照sku的基本信息进行检索,例如:sku的标题、价格区间、销量、图片等,也可以按照spu的规格参数值进行检索,例如:cpu的型号、电池容量等,也可以通过分类或者品牌进行检索。在ES中第1种数据存储格式 :{ skuId:1 spuId:11 skuTitle: 华为 price: 998 saleCount: 100 attrs:[

2022-04-19 12:59:34 1037

原创 Mybatis-plus 配置分页插件

指南:插件主体 | MyBatis-Plus@Configuration@MapperScan("scan.your.mapper.package")public class MybatisPlusConfig { /** * 新的分页插件,一缓和二缓遵循mybatis的规则,需要设置 MybatisConfiguration#useDeprecatedExecutor = false 避免缓存出现问题(该属性会在旧插件移除后一同移除) */ @Bean

2022-04-08 10:52:32 3566

原创 基于vue+element-ui实现上传进度条

目录基于el-upload组件实现进度条的编写后台进度前台进度条显示基于el-upload组件实现进度条的编写①编写文件上传时的钩子函数 uploadProgress(event,file,fileList){ let _self = this; if(event.lengthComputable){ let val = (event.loaded / event.total * 100 ).toFixed(0..

2022-04-07 19:00:27 6350

原创 vue使用three.js加载obj和mtl

①构建三维坐标,代码如下<!-- --><template> <div id="container"></div></template><script>//这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)//例如:import 《组件名称》 from '《组件路径》';import * as THREE from "three";import { OBJLoader,

2022-04-04 12:01:28 4664 2

原创 谷粒商城高级篇-ES整合

ElactisSearch-Rest-Client①通过9300(TCP)访问ES:spring-data-elasticsearch:transport-api.jar缺点:1. springboot的版本不同,transport-api.jar不同,不能适配ES的版本2. 7.x已经不建议使用了,8以后要弃用②通过9200(HTTP)访问ES说明:1. JestClient:非官方,更新慢2. RestTemplate模拟HTTP请求,ES的很多操作需要自己封装,麻烦..

2022-03-11 10:02:44 2990

原创 谷粒商城高级篇-全文检索(ElasticSearch)

ES简介学习文档地址:Elasticsearch Guide [7.16] | Elastic什么是全文检索(ElasticSearch)?全文检索属于最常见的需求,开源的ElasticSearch是目前全文检索引擎的首选。它可以快速的存储、搜索、分析海量数据。维基百科、StackOver Flow、Github都采用它。ElasticSearch的底层开源库Lucene。但是,你没有办法直接用Lucene,必须自己写代码去调用它的接口。ElasticSearch是Lucene的封装,提供了RE

2022-03-09 14:02:29 3788

原创 谷粒商城之商品服务-新增商品&仓库管理

调试会员等级等相关接口获取分类关联的品牌请求路径请求参数响应数据编写Vo编写接口

2022-01-05 21:19:54 901 2

原创 谷粒商城之商品服务-平台属性-规格参数管理

规格参数新增与VO规格参数后台管理页面编写①创建baseattr.vue②使用layout布局中分栏布局一行有24列,三级分类6列,表格18列,gutter:设置列间距③使用common下的三级分类组件④复制逆向工程生成的前端代码到el-col中⑤导入attr-add-or-update组件⑥使用父子组件,获取子组件传递给父组件的数据也就是获取当前点击的分类数据之前已经写好了父组件绑定事件即可重写请求数据的路径重...

2021-12-25 21:02:46 1091

原创 谷粒商城之商品服务-平台属性-属性组管理

什么是SPU?Standard Product Unit(标准化产品单元):是商品信息聚合的最小单位,是一组可复用、易检索的标注化信息的集合,该集合描述了一个产品的特征例如:Apple iPhone 13 就是一个SPU存放SPU的表结构:pms_spu_info什么是SKU?Stock Keeping Unit(库存量单位),即库存进出计量的基本单位,可以是件,盒,托盘等为单位。现在已经被引申为产品统一编号的简称,每种产品均对应有唯一的SKU号例如:Apple iPho

2021-12-21 23:16:03 916 1

原创 谷粒商城之商品服务-品牌管理

品牌管理前端页面校验功能表单校验&自定义校验器错误记录:启动第三方服务的时候报了个错错误:Error creating bean with name 'configDataContextRefresher' defined in class path resource出现原因:版本冲突解决方案:将cloud的版本改为Hoxton.SR12测试品牌管理的新增功能开关按钮需要动态绑定0/1而不是true/false品牌新增成...

2021-12-20 11:56:36 478

原创 谷粒商城之商品服务-三级分类(拖拽功能实现)

拖拽效果的实现开启拖拽功能:不能随意拖拽,需要判断allow-drop:属性值是个函数,返回值类型booleandraggingNode:当前拖拽的节点dropNode:目标节点type:prev->目标节点之前,inner->目标节点里面,next->目标节点之后可拖拽判断思路:文学的深度是1,如果将文学的拖拽到少儿的前面(prev)或者后面(next)则可拖拽的依据是少儿父亲节点的层级加文学的深度<=3,如果将文学放到少儿里面(in..

2021-12-13 21:27:17 1731 1

原创 谷粒商城之商品服务-三级分类(新增与修改)

三级类目新增效果完成需求:点击append按键弹出一个对话框visible.sync:双向绑定,如果为true则显示对话框否则不显示思路:当我们调用append方法时,就要将visible.sync修改为true,并且为category对象属性赋值,当我们点击确定按钮时就要调用新增函数请求调用后台处理出现问题: 新增成功但是有些字段没有值控制台打印category对象,发现有值问题原因:发现自动绑定过程失败,前端发送的category对象属性...

2021-12-10 16:56:53 949

原创 谷粒商城之商品服务-三级分类(展示与删除)

三级类目的查询catagory表的表结构,首先一级类目的parent_cid为0,二级类目以及三级类目的parent_cid为cid,sort字段用于排序baseMapper等价于catagoryDao代码实现: /** * 三级分类查询,以树状结构呈现 * @return */ @Override public List<CategoryEntity> listWithTree() { // 1..

2021-12-10 09:33:56 2167 1

原创 谷粒商城之Vue框架学习

基本语法和插件安装快速入门:介绍 — Vue.js我们学习的是vue2.x版本vue的安装:①使用src进行引入② 使用npm进行安装1.vscode 创建一个文件夹,进行一个初始化npm init -y生成package.json文件进行一个包的管理2.使用npm install vue命令,安装vuenpm install vueVue的使用①导入vue实现了一个单向的绑定,修改数据页面...

2021-12-08 17:11:13 1032

原创 谷粒商城之ES6语法学习

前端技术栈简介使用vscode创建新的文件夹快捷键:shift+! -> 快速创建html标签ES6之let、const关键字作用:声明变量1.var声明的变量会越域,let声明的变量不会越域 <script> { var a=1; let b=1; } console.log(a); // 1 console.l...

2021-12-07 10:18:34 824 2

原创 谷粒商城之中间件Nacos和Gateway的搭建

谷粒商城最终的技术搭配方案:SpringCloud Alibaba-Nacos:注册中心和配置中心SpringCloud Alibaba-Gateway:API网关SpringCloud Alibaba-Openfeign:服务之间的调用SpringCloud Alibaba-Sentinel:服务容错SpringCloud Alibaba-Sleuth:调用链监控SpringCloud Alibaba-Seata:分布式事务解决方案alibaba各组件之间的版本、与Spring

2021-12-06 12:57:01 1160

原创 谷粒商城之逆向工程

renren-fast后台管理系统的搭建①点开码云,搜索人人开源②复制克隆地址,使用git克隆git clone https://gitee.com/renrenio/renren-fast.git③创建gulimall_adm数据库,执行renren-fast中的db文件中的mysql.sql④删除renren-fast中的.git文件,将其导入父项目中⑤在父项目中的pom文件中添加renre-fast的moudle⑥修改renren-fas...

2021-12-04 23:09:40 1808 1

原创 尚硅谷谷粒商城之环境搭建

virtualbox的安装(windows)下载地址: Downloads – Oracle VM VirtualBox 下载windows版本,然后傻瓜式安装就行了,安装成功后,出现如下页面如果我们要使用centos7的话还要去下载内核,比较麻烦,建议使用vagrant从仓库中拉取镜像vagrant的下载(windows)下载官网:Vagrant by HashiCorpvagrant安装也是一个傻瓜式的安装vagrant镜像的地址:Discover Vag..

2021-12-02 20:12:52 2338

原创 Redis之缓存预热、缓存雪崩、缓存穿透、缓存击穿

缓存预热问题现象:1.请求数量较高 2.主从之间数据吞吐量较大,数据同步操作频度较高解决方案:前置准备工作:1.日常例行统计数据访问记录,统计访问频度较高的热点数据2.利用LRU数据删除策略,构建数据留存队列 例如:storm和kafka配合准备工作:1.将统计结果中的数据分类,根据级别,redis优先加载级别较高的热点数据2.利用分布式多服务器同时进行数据读取,提高数据加载过程3.热点数据主从同时预热实施:1.使用脚本程序固定触发数据预热过程...

2021-11-30 15:45:50 1005

原创 Redis之cluster集群

现状问题:①redis提供的服务OPS可以达到10万/秒,当前业务的OPS已经达到了10万/秒②内存单机容量达到256G,当前业务需求内存容量1T解决方案:使用集群的方式可以快速的解决上述问题集群架构:集群就是通过网络将若干台计算机联通起来,并提供统一的管理方式,使其对外呈现单机的服务效果集群的作用:①分散单台服务器的访问压力,实现负载均衡②分散单台服务器的存储压力,实现可扩展性③降低单台服务器宕机带来的业务灾难cluster集群的数据存储设计:①通过CRC16获取.

2021-11-30 10:50:04 1057

原创 Redis之哨兵模式

当我们搭建一个主从复制时,master宕机之后我们需要选取一个新的master,用于解决这个问题的策略就是哨兵模式哨兵模式简介:哨兵(sentinel)是一个分布式文件系统,用于对主从结构中的每一台服务器进行监控,当出现故障时通过投票机制选出新的master并将所有slave连接到新的master哨兵的作用:1.监控:①不断的检查master和slave是否正常运行2.通知:当被监控的服务器出现了问题,向其它的哨兵和客户端发送通知3.自动故障转移:断开slave和master的连接,

2021-11-29 10:48:16 927

原创 Redis之主从复制

互联网的三高架构:①高并发②高性能③高可用在互联网中追求高可用性,目标全年宕机时间/全年时间可达6个9即99.9999%,显然这是一个理想状态,显然,搭建集群是一个很好的解决方案单机Redis存在的风险与问题:①出现机器故障,例如硬盘故障,系统崩溃 将会导致数据丢失,对于业务来说是很致命的②容量瓶颈,redis是内存数据库,即时将内存从64G更换到128G终究也会有满的时候解决方案:为了避免单机Redis出现故障导致服务不可用,可以准备多态服务器部署到多台计算机上,互相连通,将数据备份保

2021-11-26 22:00:27 698

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除