2020谷粒商城
尚硅谷2020谷粒商城学习总结资料。只做完高级篇,集群篇短期不会看了。
haitaoss
这个作者很懒,什么都没留下…
展开
-
接口幂等性
接口幂等性什么是幂等性接口幂等性就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的, 不会因为多次点击而产生了副作用;比如说支付场景,用户购买了商品支付扣款成功,但是返回结果的时候网络异常,此时钱已经扣了,用户再次点击按钮,此时会进行第二次扣款,返回结果成功,用户查询余额返发现多扣钱了,流水记录也变成了两条. . . ,这就没有保证接口的幂等性。哪些情况需要防止用户多次点击按钮用户页面回退再次提交微服务互相调用,由于网络问题,导致请求失败。feign 触发重试机制其他原创 2020-08-17 11:37:15 · 208 阅读 · 0 评论 -
本地事务与分布式事务
本地事务与分布式事务本地事务事务的基本性质事务的概念:事务是逻辑上一组操作,组成这组操作各个逻辑单元,要么一起成功,要么一起失败。数据库事务的几个特性:原子性(Atomicity)、一致性( Consistency )、隔离性或独立性( lsolation)和持久性(Durabilily),简称就是ACID;原子性:一系列的操作整体不可拆分,要么同时成功,要么同时失败一 致性:数据在事务的前后,业务整体一致。转账。A:1000; B:1000; 转200 事务成功; A: 800 B原创 2020-08-17 11:33:01 · 822 阅读 · 0 评论 -
定时任务
定时任务cron 表达语法:秒 分 时 日 月 星期 年(年可选,spirng不支持年)http://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html特殊字符“-” :范围, MON-WED表示星期一到星期三“,” :列举, MON,WEB表示星期一和星期三“*” :任意,指定位置的任意时刻都可以,每月,每天,每周,每年等“/” : 步长,0/15(处于分钟段里面) 在0分以后开原创 2020-08-17 11:32:32 · 178 阅读 · 0 评论 -
缓存与分布式锁
缓存与分布式锁缓存缓存使用为了系统性能的提升,我们一般都会将部分数据放入缓存中,加速访问。而db承担数据落盘工作。哪些数据适合放入缓存?即时性、数据致性要求不高的访问量大且更新频率不高的数据(读多,写少)举例:电商类应用,商品分类,商品列表等适合缓存并加一个失效时间(根据数据更新频率来定),后台如果发布一个商品,买家需要5分钟才能看到新的商品一般还是可以接受的。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Rv6faiiF-1597635087323)(谷原创 2020-08-17 11:31:59 · 408 阅读 · 3 评论 -
前端-ES6
一、简介ES6, 全称 ECMAScript 6.0 ,是 JavaScript 的下一个版本标准,2015.06 发版。ES6 主要是为了解决 ES5 的先天不足,比如 JavaScript 里并没有类的概念,但是目前浏览器的 JavaScript 是 ES5 版本,大多数高版本的浏览器也支持 ES6,不过只实现了 ES6 的部分特性和功能。二、 特性1. let新增加的声明变量的关键字,与var声明变量有以下不同声明的变量有严格局部作用域 { var a原创 2020-08-17 11:31:17 · 454 阅读 · 0 评论 -
消息中间件-RabbitMQ
消息队列应用场景消息中间件概述RabbitMQ 概念一个客户端只与消息中间件建立一条链接(长连接),一条链接里面有多个channel(虚拟链接,复用一条TCP连接)虚拟主机是rabbitmq为了隔离不同类型客户端出现的概念。我们在开发过程中可以一个客户端一个虚拟主机。即一个rabbitmq里面可以有多个虚拟主机虚拟主机:多个交换机构成虚拟主机,主要目的是隔离客户端的消息。比如当前消息队列的生产者有java端和php端,为了隔离开我们可以划分出两个虚拟主机。虚拟主机互相隔离,一台原创 2020-08-17 11:30:52 · 422 阅读 · 0 评论 -
压力测试&性能监控
压力测试 & 性能监控性能监控jvm 内存模型程序计数器Program Counter Register:记录的是正在执行的 虛拟机字节码指令的地址,此内存区域是唯一个在 JAVA虚拟机规范中没有规定任何OutOfMemoryError的区域虚拟机: VMStack描述的是 JAVA方法执行的内存模型,每个方法在执行的时候都会创建一一个栈帧,用于存储局部变量表,操作数栈,动态链接,方法接口等信息局部变量表存储了 编译期可知的各种基本数据类型、对象引用线程请求的栈深度不够原创 2020-08-16 11:32:26 · 1414 阅读 · 0 评论 -
异步线程池 & 异步编排
异步线程池 & 异步编排线程回顾初始化线程的四种方式继承Threadpublic class ThreadTest{ public static class Thread01 extends Thread { @Override public void run() { System.out.println("当前线程:" + Thread.currentThread().getId()); int i =原创 2020-08-16 11:31:28 · 1080 阅读 · 1 评论 -
ElasticSearch
Elastic Search简介是什么 Elasticsearch是一个基于Apache Lucene™的开源搜索引擎。无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。特点:分布式的实时文件存储,每个字段都被索引并可被搜索分布式的实时分析搜索引擎–做不规则查询可以扩展到上百台服务器,处理PB级结构化或非结构化数据Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是原创 2020-08-16 11:30:08 · 404 阅读 · 0 评论 -
Vue
Vue 学习笔记一、简介Vue 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层。1. 安装直接下载并用 <script> 标签引入,Vue 会被注册为一个全局变量。NPM 安装安装后本地就会有vue.js文件,使用<script> 标签引入即可$ npm install vue <script src="./node_modules/vue/dist/vue.js">&原创 2020-08-16 11:28:26 · 124 阅读 · 0 评论 -
谷粒商城分布式高级篇
ElasticSearch商品发布代码es索引的设计(1)方便检索{skuId:1spuId:1skuTitle:华为xxprice:9988saleCount:99attrs:[{尺寸:5寸}{CPU:高通945}]}冗余:100万*20 = 1000000 * 2kb = 2G(2)sku索引{skuId:1spuId:1skuTitle:华为xxprice:9988saleCount:99}attr索引{spuId:1attrs:[{尺寸:5寸}{C原创 2020-08-16 11:27:24 · 5623 阅读 · 6 评论 -
谷粒商城基础篇
必看本文很多的东西都来自这位大佬的文档仓库地址架构&介绍环境的搭建简单的操作我使用的vagrant是我自己打包好的,可观看该博客自定义box,或者在博客最下面找到云盘地址创建模块gulimall-coupon、gulimall-member、gulimall-order、gulimall-product、gulimall-ware创建虚拟机(建议使用vagrant),在里面安装docker。并使用docker 运行mysql、redis、nacos。可以进入guli原创 2020-08-16 11:26:28 · 2082 阅读 · 2 评论