谷粒商城
文章平均质量分 78
谷粒商城
DAIHAO丶
一花一世界,一树一菩提。
展开
-
谷粒商城微服务分布式高级篇(十四) ——接入短信验证码和验证码防刷校验
hosts文件修改:虚拟机IP 详情访问域名虚拟机Nginx,由于之前已添加*.域名,则详情域名可以访问,无需修改。网关修改:- id: mall_host_route uri: lb://gulimall-product predicates: - Host=gulimall.com,item.gulimall.com引入前端页面,上传详情资源至Nginx(static下item)。html路径修改:href="…/static/item/点击页面跳转: &l原创 2020-12-21 09:57:02 · 831 阅读 · 0 评论 -
谷粒商城微服务分布式高级篇(十三) —— 认证服务环境搭建
1、创建项目mall-auth2、将其注册到Nacos 谷粒商城微服务分布式基础篇二—— Spring Cloud Alibaba、Nacos注册与发现3、搭建域名访问 谷粒商城微服务分布式高级篇六——商城首页修改网关路由配置, 启动网关服务- id: mall_auth_route uri: lb://mall-auth predicates: - Host=auth.mymall.com4、将静态资源移入Nginx下5、创建并修改templates下login和reg页原创 2020-12-19 13:39:58 · 279 阅读 · 1 评论 -
谷粒商城微服务分布式高级篇(十二) —— 异步与线程池及异步编排
异步在业务开发中,有很多异步场景,为了节约时间或或者提高系统的吞吐量,要做一些异步任务,在Java中要实现异步通常都是Thread,开启一个线程Thread,开启线程有四种方式。创建线程四种方式1)、继承Thread2)、实现Runnable接口3)、实现Callable接口+FutureTask(可以拿到返回结果,可以处理异常)4)、线程池方式1和方式2:主进程无法获取线程的运算结果。不适合我们当前的场景。方式3:主进程可以获取线程的运算结果,但是不利于控制服务器中的线程资源。线程测试:原创 2020-10-14 17:14:02 · 738 阅读 · 1 评论 -
谷粒商城微服务分布式高级篇十一———商城检索
商城检索-检索条件分析• 1、全文检索:skuTitle — keyword• 2、排序:saleCount(销量)、hotScore(热度分)、skuPrice(价格)• 3、过滤:hasStock、skuPrice区间、brandId、catalog3Id、attrs• 4、聚合:attrs完整查询参数keyword=小米&sort=saleCount_desc/asc&hasStock=0/1&skuPrice=400_1900&brandId=1&原创 2020-10-09 16:40:04 · 633 阅读 · 1 评论 -
谷粒商城Redis问题
java.util.NoSuchElementException: Timeout waiting for idle object原创 2020-08-17 20:00:43 · 372 阅读 · 0 评论 -
谷粒商城微服务分布式高级篇十——缓存-SpringCache
文章目录SpringCache概述简单示例@Cacheable、@CachePut、@CacheEvict基本原理SpringCache概述Spring 3.1 引入了激动人心的基于注释(annotation)的缓存(cache)技术,它本质上不是一个具体的缓存实现方案(例如 EHCache 或者 OSCache),而是一个对缓存使用的抽象,通过在既有代码中添加少量它定义的各种 annotation,即能够达到缓存方法的返回对象的效果。Spring 的缓存技术还具备相当的灵活性,不仅能够使用 SpE原创 2020-07-12 12:27:31 · 749 阅读 · 0 评论 -
谷粒商城微服务分布式高级篇九——Redisson-分布式锁-缓存数据一致性
文章目录Redisson项目整合RedissonRedisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务。其中包括(BitSet, Set, Multimap, SortedSet, Map, List, Queue, BlockingQueue, Deque, BlockingDeque, Semaphore, Lock, AtomicLong, CountDownLatch,原创 2020-07-07 10:32:01 · 1176 阅读 · 0 评论 -
谷粒商城微服务分布式高级篇八——分布式缓存-Redis-Jedis-分布式锁
文章目录缓存使用缓存使用为了系统性能的提升,我们一般都会将部分数据放入缓存中,加速访问。而db承担数据落盘工作。哪些数据适合放入缓存?即时性、数据一致性要求不高的访问量大且更新频率不高的数据(读多,写少)举例:电商类应用,商品分类,商品列表等适合缓存并加一个失效时间(根据数据更新频率来定),后台如果发布一个商品,买家需要5分钟才能看到新的商品一般还是可以接受的。...原创 2020-07-01 21:43:15 · 743 阅读 · 0 评论 -
谷粒商城微服务分布式高级篇七——压力测试和性能优化
文章目录压力测试性能指标JMeterJMeter安装JMeter Address Already in use错误解决jconsole与jvisualvml压力测试压力测试考察当前软硬件环境下系统所能承受的最大负荷并帮助找出系统瓶颈所在。压测都是为了系统在线上的处理能力和稳定性维持在一个标准范围内,做到心中有数。使用压力测试,我们有希望找到很多种用其他测试方法更难发现的错误。有两种错误类型是:内存泄漏,并发与同步。有效的压力测试系统将应用以下这些关键条件:重复,并发,量级,随机变化。性能指标响原创 2020-06-07 11:26:05 · 823 阅读 · 1 评论 -
谷粒商城微服务分布式高级篇六——商城首页
商城首页效果ThemeleafThymeleaf 是一个跟 Velocity、FreeMarker 类似的模板引擎,它可以完全替代 JSP 。相较与其他的模板引擎,它有如下三个极吸引人的特点:1.Thymeleaf 在有网络和无网络的环境下皆可运行,即它可以让美工在浏览器查看页面的静态效果,也可以让程序员在服务器查看带数据的动态页面效果。这是由于它支持 html 原型,然后在 html 标签里增加额外的属性来达到模板+数据的展示方式。浏览器解释 html 时会忽略未定义的标签属性,所以 Thyme原创 2020-06-02 09:01:54 · 1052 阅读 · 17 评论 -
谷粒商城微服务分布式高级篇ElasticSearch五——商城业务-商品上架
文章目录商品上架ES数据模型商品上架后台管理员对spu审核进行操作,点击上架。只有当商品上架才应该被检索,即需要导入商品数据到ES中。请求参数POST /product/spuinfo/{spuId}/up响应数据{ "msg": "success", "code": 0}ES数据模型搜索栏、分类进行搜索效果页面需要考虑三个点:1、哪些需要分词2、哪些词需要过滤3、需要显示哪些字段商品标题需要分词;平台属性、三级分类、商品价格需要被过滤;还要显示品牌图片,名字,售原创 2020-05-21 13:39:04 · 1155 阅读 · 2 评论 -
谷粒商城微服务分布式高级篇ElasticSearch四——Java使用ElasticSearch
Java High Level REST Client的版本必须小于等于你的elasticsearch版本,建议版本一致<dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-high-level-client</artifactId> <versio原创 2020-05-10 20:34:36 · 833 阅读 · 0 评论 -
谷粒商城微服务分布式高级篇ElasticSearch三——Dcoker安装ES及ES检索语法
文章目录Docker安装ES&kibbanDocker安装ES&kibban安装指定版本docker pull elasticsearch:7.4.2创建配置文件和文件夹mkdir -p /mydata/elasticsearch/configmkdir -p /mydata/elasticsearch/dataecho “http.host:0.0.0.0”>...原创 2020-05-07 23:42:12 · 2388 阅读 · 3 评论 -
谷粒商城微服务分布式高级篇ElasticSearch二——重要概念及原理
文章目录面向文档索引分布式特性分布式集群集群健康面向文档应用中的对象很少只是简单的键值列表,更多时候它拥有复杂的数据结构,比如包含日期、地理位置、另一个对象或者数组。总有一天你会想到把这些对象存储到数据库中。将这些数据保存到由行和列组成的关系数据库中,就好像是把一个丰富,信息表现力强的对象拆散了放入一个非常大的表格中:你不得不拆散对象以适应表模式(通常一列表示一个字段),然后又不得不在查询的...原创 2020-05-05 13:38:23 · 1875 阅读 · 0 评论 -
谷粒商城微服务分布式高级篇ElasticSearch一——入门理解及安装
文章目录ElasticSearchElasticSearch简介ES能做什么Elasticsearch使用案例同类产品Solr、ESHermesSolr、ES区别ElasticSearch安装准备工作基本配置设置IP地址添加用户Java环境安装解压安装包设置Java环境变量ElasticSerach单机安装解压安装包权限后台启动关闭程序设置浏览器访问安装问题解决方案状态查看命令ElasticSe...原创 2020-05-04 10:28:21 · 2474 阅读 · 3 评论 -
谷粒商城微服务分布式基础篇十——商城概念、CRDU
文章目录谷粒商城分布式基础篇十商城概念基本信息—分类基本信息—平台属性基本信息—销售属性销售属性与平台属性的关系基本信息—spu与 skupms数据模型属性分组前端组件抽取父子组件交互谷粒商城分布式基础篇十商城概念基本信息—分类一般情况可以分为两级或者三级。咱们的项目一共分为三级,即一级分类、二级分类、三级分类。比如:家用电器是一级分类,电视是二级分类,那么超薄电视就是三级分类。数据...原创 2020-05-02 20:14:52 · 2603 阅读 · 1 评论 -
谷粒商城微服务分布式基础篇九——前后端校验
文章目录表单校验&自定义校验器前端校验后端校验1、校验注解2、@Valid3、测试4、自定义错误信息5、获取校验结果6、统一异常处理7、错误码和错误信息枚举类8、分组校验(多场景的复杂校验)8.1、BrandEntity添加注解8.2、分组接口8.3、Controller分组注解表单校验&自定义校验器前端校验 firstLetter: [ /...原创 2020-04-29 23:07:48 · 545 阅读 · 0 评论 -
谷粒商城微服务分布式基础篇八——对象存储OSS
文章目录阿里云对象存储OSS什么是对象存储 OSS相关概念存储类型(Storage Class)存储空间(Bucket)对象/文件(Object)地域(Region)访问域名(Endpoint)访问密钥(AccessKey)OSS的优势阿里云对象存储OSS什么是对象存储 OSS阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、...原创 2020-04-27 21:55:40 · 1320 阅读 · 0 评论 -
谷粒商城微服务分布式基础篇七——三级分类删除、新增、修改
文章目录商城三级分类删除前端代码后端代码商城三级分类新增前端代码后端代码商城三级分类修改商城三级分类删除前端代码 <!-- data;树数据 在vue data初始化指定 --> <!--default-expanded-keys;默认展开的节点的 key 的数组 --> <!-- v-if="node.childNodes.length==0"...原创 2020-04-21 22:52:32 · 856 阅读 · 0 评论 -
谷粒商城微服务分布式基础篇六——三级分类查询
商城三级分类查询前端代码整合 element-ui安装npm i element-ui -S在 main.js 中写入以下内容:import Vue from 'vue';import ElementUI from 'element-ui';import 'element-ui/lib/theme-chalk/index.css';import App from './App....原创 2020-04-18 00:45:24 · 752 阅读 · 0 评论 -
谷粒商城微服务分布式基础篇五——Vue语法
文章目录前端开发vueVue.js 是什么基本语法前端开发vueVue.js 是什么Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单...原创 2020-04-13 11:34:12 · 677 阅读 · 0 评论 -
谷粒商城微服务分布式基础篇四——VSCode安装、ECMAScript 6语法
前端开发VS Code下载地址https://code.visualstudio.com/初始设置1、中文界面配置首先安装中文插件:Chinese (Simplified) Language Pack for Visual Studio Code右下角弹出是否重启vs,点击“yes”重启后如果界面没有变化,则 点击 左边栏Manage -> Command Paletet…【...原创 2020-04-11 12:48:28 · 727 阅读 · 2 评论 -
谷粒商城微服务分布式基础篇三——Spring Cloud Gateway
Spring Cloud Gateway网关 API 网关API 网关出现的原因是微服务架构的出现,不同的微服务一般会有不同的网络地址,而外部客户端可能需要调用多个服务的接口才能完成一个业务需求,如果让客户端直接与各个微服务通信,会有以下的问题:客户端会多次请求不同的微服务,增加了客户端的复杂性。存在跨域请求,在一定场景下处理相对复杂。认证复杂,每个服务都需要独立认证。难以重构,随着...原创 2020-04-10 22:59:43 · 1251 阅读 · 3 评论 -
谷粒商城微服务分布式基础篇二—— Spring Cloud Alibaba、Nacos注册与发现
使用Spring Cloud Alibaba项目进行微服务开发Spring Cloud Alibaba是什么? Spring Cloud Alibaba 是阿里巴巴提供的微服务开发一站式解决方案,是阿里巴巴开源中间件与 Spring Cloud 体系的融合。包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务为什么不使用...原创 2020-04-09 23:04:15 · 1791 阅读 · 1 评论 -
谷粒商城微服务分布式基础篇一——微服务架构,虚拟环境Docker搭建
微服务架构图微服务划分图搭建虚拟开发环境1、下载安装VirtualBox 下载安装Vagrant2、安装好后,创建一个存放vagrant box的目录,方便日后统一管理,比如叫做…/centOS7$ mkdir ../centOS73、初始化一个 centos/7系统vagrant init centos/74、启动虚拟机 默认密码vagrantvagrant up5...原创 2020-04-08 19:42:23 · 2251 阅读 · 6 评论