
乐优商城
文章平均质量分 92
飘来荡去、、
这个作者很懒,什么都没留下…
展开
-
跨域
简单请求只要同时满足以下两大条件,就属于简单请求条件1:使用请求方法GET HEAD POST条件2:Content-type值仅限于以下三个之一application/x-www-form-urlencoded text/plain multipart/form-data原创 2020-12-19 18:28:06 · 532 阅读 · 1 评论 -
乐优微服务容器部署和持续集成
一、持续集成1.1 什么是持续集成持续集成 Continuous integration ,简称CI。随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题。尤其是近些年来,敏捷(Agile)在软件工程领域越来越红火,如何能再不断变化的需求中快速适应和保证软件的质量也显得尤其的重要。持续集成正是针对这一类问题的一种软件开发实践...原创 2019-01-02 21:46:05 · 5777 阅读 · 6 评论 -
乐优商城(填坑)——秒杀商品添加
一、需求后台商品管理中,将商品添加到可秒杀商品列表选中商品将其设置为可秒杀。选择具体的参与秒杀的商品规格,然后设置相关参数,点击保存即可。二、后端接口修改原来的添加秒杀商品接口在leyou-secskill微服务中,现在将其移动到leyou-item中,代码如下:2.1 Controller/** * 添加秒杀商品 * @param sec...原创 2019-01-01 15:10:02 · 3536 阅读 · 1 评论 -
乐优商城(填坑)——后台登录
后台管理模块增加登录验证,与门户网站一样都是采用无状态登录。一、新增全局函数在main.js中新增用户验证:二、修改路由先显示登录页面效果:三、解决cookie写入问题在http.js中新增配置:四、登录Login.vue<template> <v-app> <v-content> ...原创 2018-12-30 16:07:26 · 5308 阅读 · 6 评论 -
乐优商城(五十二)服务鉴权
一、用户鉴权客户端请求服务时,根据提交的token获取用户信息,看是否有用户信息及用户信息是否正确,这个在乐优商城中已经实现。二、服务鉴权微服务中,一般有多个服务,服务与服务之间相互调用时,有的服务接口比较敏感,比如资金服务,不允许其他服务随便调用,所以要进行服务调用的权限鉴定认证。其实原理是一样的,服务调用的时候携带token,然后在被调服务中对token进行解析,判断是否满足既定的...原创 2018-12-20 16:39:33 · 2000 阅读 · 2 评论 -
乐优商城最终篇
目录一、总结1.1 架构图1.2 包含的微服务1.2.1 网关微服务1.2.2 授权中心微服务1.2.3 购物车微服务1.2.4 评论微服务(新增)1.2.5 配置中心微服务1.2.6 页面详情微服务1.2.7 后台管理微服务1.2.8 订单微服务1.2.9 Eureak注册中心1.2.10 搜索微服务1.2.11 秒杀微服务(新增)1....原创 2018-12-12 21:56:49 · 16555 阅读 · 43 评论 -
乐优商城(五十一)延时消息队列
目录一、需求1.1 常见方案1.2 缺点二、高效延时消息设计与实现三、RabbitMQ延时队列3.1 Per-Queue Message TTL3.2 Dead Letter Exchanges3.3 小结3.4 在队列上设置TTL3.4.1 建立delay.exchange3.4.2 建立延时队列(delay queue)3.4.3 配置延时路由规...原创 2018-12-01 23:31:23 · 1987 阅读 · 3 评论 -
乐优商城(五十)集中配置
目录一、Spring Cloud Config二、配置服务端2.1 创建配置中心微服务2.2 添加依赖2.3 创建启动类 2.4 编写配置文件2.5 创建Git仓库三、配置客户端3.1 添加依赖3.2 修改配置文件3.3 测试四、消息总线组件4.1 简介4.2 代码实现4.2.1 配置服务端(leyou-config)4.2.2 配置...原创 2018-11-28 23:13:38 · 1604 阅读 · 0 评论 -
乐优商城(四十九)评论微服务(二)
目录一、需求分析1.1 功能分析1.2 表结构分析二、服务搭建2.1 服务搭建2.1.1 创建module2.1.2 添加依赖2.1.3 编写配置2.1.4 启动类2.2 准备工作2.2.1 创建实体类2.2.2 创建数据访问接口2.2.3 添加路由2.3 功能实现2.3.1 分页查询评论2.3.2 发布评论2.3.3 删除评论...原创 2018-11-26 11:02:55 · 1885 阅读 · 2 评论 -
乐优商城(四十八)评论微服务(一)
目录一、MongoDB简介1.1 评论数据特点分析1.2 什么是MongonDB1.3 MongonDB特点1.4 MongonDB体系结构1.5 数据类型二、走进MongoDB2.1 MongoDB安装与启动2.2 常用命令2.2.1 选择和创建数据库2.2.2 插入与查询文档2.2.3 修改与删除文档2.2.4 统计条数2.2.5 模糊查...原创 2018-11-25 21:09:38 · 1808 阅读 · 0 评论 -
乐优商城(四十七)秒杀总结
目录一、缓存优化1.1 页面缓存1.2 对象缓存1.3 页面静态化1.4 静态资源优化二、数据库优化三、安全方面相关的优化3.1 秒杀地址隐藏3.1.1 创建秒杀路径3.1.2 路径验证3.2 接口限流3.2.1 定义注解3.2.2 添加拦截器3.2.3 使用四、相关知识4.1 微服务架构如何保障高可用一、缓存优化1.1 页面...原创 2018-11-19 22:45:29 · 2574 阅读 · 2 评论 -
乐优商城(四十六)秒杀功能优化(库存更新原子操作)
目录一、优化思路二、具体实现2.1 秒杀接口改造2.1.1 系统初始化2.1.2 库存更新2.1.3 发消息2.1.4 RabbitMQ配置2.1.5 优化redis2.2 订单服务监听2.2.1 监听器配置2.2.2 消息解析2.2.3 库存判断2.2.4 用户是否秒杀成功2.2.5 下订单三、Jmeter压测3.1 数据准备3...原创 2018-11-15 20:14:16 · 2717 阅读 · 4 评论 -
乐优商城(四十五)秒杀功能压测
一、压测数据准备1.1 注册5000个用户在leyou-user中增加测试方法,用来注册5000个用户。import com.leyou.user.LyUserApplication;import com.leyou.user.mapper.UserMapper;import com.leyou.user.pojo.User;import com.leyou.utils.Cod...原创 2018-11-14 23:23:56 · 2607 阅读 · 1 评论 -
乐优商城(四十四)订单中心重构
目录一、目录结构二、修改创建订单方法2.1 Controller2.2 库存检查2.3 创建订单三、前端修改秒杀系统要调用订单微服务中的下订单功能,所以将原来的订单微服务进行重构。一、目录结构将原来的pojo抽取到interface中,并且增加orderApi接口:package com.leyou.order.api;import com.ley...原创 2018-11-11 23:44:41 · 1740 阅读 · 2 评论 -
乐优商城(四十三)商品CRUD修改
本来想对商品管理重构一下,将商品添加到秒杀列表当中。。。。。。。。。。。。。。。。。。。。。。。。没做。原创 2018-11-10 17:07:09 · 1468 阅读 · 0 评论 -
乐优商城(四十二)秒杀功能
目录一、创建秒杀服务1.1 创建module1.2 pom文件1.3 application.yml二、页面分析2.1 页面效果2.2 需要的数据2.2.1 秒杀商品列表页面2.2.2 秒杀商品详情页面2.2.3 最终数据结构三、后台开发3.1 添加秒杀商品3.1.1 功能需求3.1.2 Controller3.1.3 Mapper3...原创 2018-11-10 11:27:26 · 3501 阅读 · 2 评论 -
页面优化
目录一、页面缓存、URL缓存1.1 改造商品详情页面1.2 压力测试二、对象缓存2.1 用户信息查询2.2. 用户信息修改三、页面静态化3.1 概念3.2 实现3.3 什么时候创建静态文件3.4 nginx代理静态页面3.5 压力测试四、静态资源优化4.1 js/css压缩,减少流量4.2 多个js/css组合,减少连接数4.3 CD...原创 2018-11-09 10:13:43 · 1016 阅读 · 0 评论 -
单点登录
目录一、HTTP的无状态性二、Cookie技术的引入三、基于表单的认证四、Session存储位置以及集群情况下的问题五、小结六、JWT七、JWT结构说明八、JWT交互流程九、JWT在微服务中的应用9.1 RSA9.2 没有RSA加密的鉴权流程9.3 结合RSA的鉴权流程十、生成Token十一、解析Token获取用户信息一、HTTP的无状态...原创 2018-11-06 23:09:10 · 7385 阅读 · 0 评论 -
乐优商城(四十一)知识点
一、明文密码加密处理1.1 介绍使用BCryptPasswordEncoder进行密码加密。spring security中的BCryptPasswordEncoder方法采用SHA-256 +随机盐+密钥对密码进行加密。SHA系列是Hash算法,不是加密算法,使用加密算法意味着可以解密(这个与编码/解码一样),但是采用Hash处理,其过程是不可逆的。(1)加密(encode):注...原创 2018-11-06 14:06:06 · 1675 阅读 · 1 评论 -
实体类
实体类中的属性类型,要用包装类型,不能是基本类型原创 2018-11-05 18:56:59 · 966 阅读 · 4 评论 -
乐优商城(四十)—— 配置单
目录一、虚拟机1.1 Elasticsearch1.2 分布式文件系统FastDFS1.3 Nginx1.4 Rabbitmq1.5 Redis二、主机2.1 Nginx2.2 host一、虚拟机1.1 Elasticsearch配置:安装Elasticsearch启动:进入bin目录,执行:./elasticsearch效果:...原创 2018-11-02 14:27:54 · 6608 阅读 · 0 评论 -
解决js处理Long类型丢失精度的问题
一、前端解决在发起ajax请求后,因为后台返回的是Json的字符串,在axios内部会自动调用 JSON.parse()方法把json字符串转为js数据,就会出现进度损失。如果不进行转换,依然当做字符串来使用,就不会有问题了。1.1 解决方案重写axios对响应的处理回调函数1.2 前提条件请求的返回数据为Long类型的数据二、后端解决2.1 JacksonSp...原创 2018-11-01 00:25:16 · 6637 阅读 · 1 评论 -
乐优商城(三十九)—— 订单中心
目录一、我的订单页1.1. 页面效果1.2 后台接口1.3 页面改造1.3.1 数据加载1.3.2 分页条1.4 测试1.5 订单状态过滤1.5.1 全部订单(16)1.5.2 待付款(3)1.5.3 待发货(4)1.5.4 待收货(3)1.5.5 待评价(2)1.5.6 对比二、基本操作2.1 准备工作2.1.1 编写修改订单状...原创 2018-10-31 21:19:50 · 3121 阅读 · 1 评论 -
乐优商城(三十八)——订单微服务
目录五、地址管理5.1 页面效果5.2数据库表设计5.3页面优化5.3.1 在data中定义数据5.3.2 模态框5.3.3方法绑定5.3.4 效果展示5.4后台接口5.4.1 实体类5.4.2 Controller5.4.3 Mapper5.4.4 Service5.5 接口测试5.5.1 新增地址5.5.2 查询地址5...原创 2018-10-30 16:01:15 · 2018 阅读 · 7 评论 -
乐优商城(三十七)——订单微服务
目录四、细节优化4.1 支付页面显示总金额4.1.1 支付页面4.1.2 支付成功页面4.2 修改订单号的传递方式4.2.1 修改订单提交函数4.2.2 修改支付页面4.3 订单提交时进行登录认证4.4 本地数据删除4.5 购物车数据更新4.5.1 Controller4.5.2 Service4.5.3 测试4.5.4 页面处理四、细节...原创 2018-10-29 23:53:09 · 1656 阅读 · 2 评论 -
微信支付工具
和支付相关的类PayHelperpackage com.leyou.order.utils;import com.github.wxpay.sdk.WXPay;import com.leyou.order.config.PayConfig;import com.leyou.order.service.OrderService;import org.apache.co...原创 2018-10-29 12:09:46 · 1232 阅读 · 0 评论 -
乐优商城(三十六)——订单微服务
目录二、订单结算页2.1 页面跳转2.2 收货人信息2.3 支付方式2.4 商品列表2.4.1 购物车信息获取2.4.2 页面渲染2.5 总金额2.6 提交订单2.6.1 页面提交2.6.2 精度损失问题三、微信支付3.1 介绍3.2 开发流程3.2.1 介绍3.2.2 具体工作3.3 生成二维码3.3.1 生成预交易链接...原创 2018-10-29 09:30:55 · 4364 阅读 · 7 评论 -
雪花算法:构建分布式自增id
目录一、订单id的特殊性二、雪花算法三、简单原理四、算法实现五、配置六、加载属性七、编写配置类八、使用九、代码详解一、订单id的特殊性订单数据非常庞大,将来一定会做分库分表。那么这种情况下, 要保证id的唯一,就不能靠数据库自增,而是自己来实现算法,生成唯一id。二、雪花算法这里的订单id是通过一个工具类生成的:而工具类所采用的生成id算...原创 2018-10-29 09:22:27 · 5100 阅读 · 0 评论 -
java.lang.NoSuchMethodException: tk.mybatis.mapper.provider.base.BaseInsertProvider.<init>()
导入错误,应该导入tk.mybatis的mapperscan:原创 2018-10-29 09:03:02 · 1964 阅读 · 0 评论 -
Spring Boot 集成Swagger中的坑
目录一、访问swagger-ui.hyml页面出错1.1 情况11.2 情况2二、无法加载swagger-ui.html页面中的静态资源三、出现弹窗,无法访问四、总结一、访问swagger-ui.hyml页面出错1.1 情况1 Note: further occurrences of HTTP header parsing errors will be log...原创 2018-10-28 15:55:11 · 1630 阅读 · 8 评论 -
乐优商城(三十四)——订单微服务
目录一、创建订单微服务1.1 创建module1.2 pom依赖1.3 配置文件1.4 启动类1.5 配置导入1.6 属性读取1.7 支付工具类1.8 修改网关配置二、实体类准备2.1 Order.java2.2 OrderDetail.java2.3 OrderStatus.java2.4 关系三、Mapper四、创建订单4.1...原创 2018-10-27 11:12:09 · 3942 阅读 · 0 评论 -
乐优商城(三十五)——订单微服务
目录一、订单系统接口1.1 Swagger-UI1.1.1 什么是OpenApi1.1.2 什么是Swagger1.1.3 快速入门1.2 测试接口1.2.1 创建订单接口1.2.2 生成ID方式1.2.3 查询订单接口1.2.4 更新订单状态1.2.5 分页查询订单1.2.6 生成微信付款链接1.2.7 查询支付状态一、订单系统接口1....原创 2018-10-27 10:48:32 · 2912 阅读 · 0 评论 -
乐优商城从商品详情页跳转问题
因为商品详情页面是通过leyou-goods-web微服务渲染得到,所以在地址前缀中就有item:所以在此页面进行跳转的话,必须将原来的路径替换,因为如果路径中还有item的话,又回到了leyou-goods-web中的Controller里,跳转失败。这个导航条是单独的一个控件,在shortcut.js中:const shortcut = { template: "...原创 2018-10-26 11:04:37 · 2321 阅读 · 0 评论 -
乐优商城(三十三)——购物车
目录四、已登录购物车4.1 添加登录校验4.1.1 引入JWT相关依赖4.1.2 配置公钥4.1.3 加载公钥4.1.4 编写拦截器4.1.5 配置拦截器4.1.6 编写过滤器4.1.7 配置过滤器4.2 后台购物车设计4.3 添加商品到购物车4.3.1 页面发起请求4.3.2 编写Controller4.3.3 CartService4...原创 2018-10-25 18:21:56 · 4247 阅读 · 15 评论 -
乐优商城(三十二)——购物车
目录一、搭建购物车微服务1.1 创建module1.2 pom依赖1.3 配置文件1.4 启动类二、购物车功能分析2.1 需求2.2 流程图三、未登录购物车3.1 准备3.1.1 购物车的数据结构3.1.2 web本地存储3.1.3 获取num3.2 添加购物车3.2.1 点击事件3.2.2 获取数量、添加购物车3.3 查询购物车...原创 2018-10-24 20:33:49 · 3095 阅读 · 10 评论 -
乐优商城(三十一)——授权中心
目录三、首页判断登录状态3.1 页面代码3.2 后台实现校验用户接口3.3 测试3.4 刷新token四、网关的登录拦截4.1 引入jwt相关配置4.2 编写过滤逻辑4.3 白名单三、首页判断登录状态虽然cookie已经成功写入,但是首页的顶部,登录状态依然没能判断出用户信息:这里需要向后台发起请求,根据cookie获取当前用户的信息。3.1...原创 2018-10-24 15:42:56 · 3451 阅读 · 1 评论 -
HttpStatus状态码
HttpStatus = { //Informational 1xx 信息 '100' : 'Continue', //继续 '101' : 'Switching Protocols', //交换协议 //Successful 2xx 成功 '200' : 'OK', //OK '2...原创 2018-10-24 15:41:56 · 1319 阅读 · 0 评论 -
JWT工具类
JwtUtilspackage com.leyou.auth.utils;import com.leyou.auth.entity.UserInfo;import io.jsonwebtoken.Claims;import io.jsonwebtoken.Jws;import io.jsonwebtoken.Jwts;import io.jsonwebtoken.Signat...原创 2018-10-23 21:56:27 · 2499 阅读 · 0 评论 -
乐优商城(三十)——授权中心
目录一、无状态登录原理1.1 什么是有状态1.2 什么是无状态1.3 如何实现无状态1.4 JWT1.4.1 简介1.4.2 数据格式1.4.3 JWT交互流程1.4.4 非对称加密1.5 结合Zuul的鉴权流程1.5.1 没有RSA加密时1.5.2 结合RSA的鉴权二、授权中心2.1 创建授权中心2.1.1 创建父module2.1...原创 2018-10-23 18:44:30 · 5616 阅读 · 7 评论 -
乐优商城(二十九)——用户注册
目录七、根据用户名和密码查询用户7.1 接口说明7.2 Controller7.3 Service7.4 测试八、在注册页进行测试七、根据用户名和密码查询用户7.1 接口说明功能描述:查询功能,根据参数中的用户名和密码查询指定用户接口路径:GET /query参数说明:form表单格式参数 说明 是否必须 数据类型 默认值...原创 2018-10-23 16:23:36 · 1859 阅读 · 0 评论