项目实战
键盘林
将代码融入于生活。享受生活,享受程序。一段程序,一场人生。
展开
-
微服务项目之电商--1.在微服务中服务调用方式及搭建微服务项目
目录一、在微服务中服务调用方式1、RPC和HTTP2、Spring 的RestTemplateRestTemplate简单跨服务测试3、SpringCloud二、搭建微服务项目创建maven父工程创建服务提供方创建服务调用方一、在微服务中服务调用方式1、RPC和HTTP无论是微服务还是SOA,都面临着服务间的远程调用,那么服务间的远程调用...原创 2019-07-23 08:58:54 · 674 阅读 · 0 评论 -
微服务项目之电商--2.之前程序存在的问题及Eureka注册中心的简单使用
目录一、之前程序存在的问题二、Eureka注册中心创建modul子项目eureka-server解决eureka启动查询地址慢的问题客服端的调整user-service项目(服务的提供方)consumer-demo项目(服务的消费方)动态获取对应服务一、之前程序存在的问题在consumer中,我们把url地址硬编码到了代码中,不方便后期维护在c...原创 2019-07-23 11:30:42 · 223 阅读 · 0 评论 -
微服务项目之电商--3.eureka集群搭建及eureka客户端详述及负载均衡Ribbon的使用和底层源码分析
目录一、高可用的eureka server二、eureka集群模拟在创建一个eureka-server项目修改服务提供者和消费者项目配置文件三、eureka客户端续约时间服务时效时间失效剔除时间自我保护负载均衡问题四、负载均衡Ribbon1、实现服务提供者集群2、实现消费方的调用负载均衡1)RibbonLoadBal...原创 2019-07-23 19:27:01 · 529 阅读 · 0 评论 -
微服务项目之电商--4.Hystrix解决雪崩问题及线程隔离,服务降级,服务熔断处理分析测试
目录一、Hystrix1、简介2、雪崩问题3、hystrix解决雪崩问题1)线程隔离,服务降级2)服务熔断3)线程隔离,服务降级,服务熔断处理4、服务熔断的深入分析1)服务熔断测试一、Hystrix1、简介hystrix,英文意思是豪猪,全是是刺,一种保护机制。2、雪崩问题微服务中,服务间调用关系错综复杂,一个请求,可能需要调用...原创 2019-07-24 09:31:13 · 603 阅读 · 0 评论 -
微服务项目之电商--5.Feign框架实现负载均衡和熔断处理、请求压缩及日志设置
目录一、Feign框架1、使用feign框架2、负载均衡3、开启熔断4、请求压缩5、日志设置一、Feign框架前面几篇文章使用了ribbon实现了远程调用以及负责均衡,但是问题来了,"/user/"这个路径是被写死了,但是对于我们开发者来说不可能每次调用都去问题,而且开发的过程中有可能路径会发送改变,是不确定因素feign框架:可以把rest的请求进行...原创 2019-07-24 17:48:35 · 456 阅读 · 0 评论 -
微服务项目之电商--6.zuul架构图和项目搭建及面向服务的路由网关配置及过滤器
目录一、Zuul网关1、zuul架构图2、zuul项目搭建3、面向服务的路由网关配置取消前缀4、过滤器zuulFilter4个最重要的方法正常流程:异常处理:自定义过滤器负载均衡和熔断zuul的高可用总结组件一、Zuul网关Zuul是Netflix开源的微服务网关,它可以和eureka、ribbon、hytrix等组件配...原创 2019-07-25 15:16:28 · 1288 阅读 · 0 评论 -
微服务项目之电商--7.ECMAScript6语法及Vue框架使用(一)
目录一、ECMAScript6语法1、let变量2、const变量3、解构表达式解构表达式解析数组解构表达式解析对象函数优化二、Vue框架1、安装node2、创建项目项目安装vuevue的简单使用函数的使用3、vue的生命周期钩子函数4、指令插值表达式v-text和v-htmlv-modelv-o...原创 2019-07-27 08:41:00 · 247 阅读 · 0 评论 -
微服务项目之电商--8.ECMAScript6语法及Vue框架使用(二)
目录一、组件化全局组件局部组件组织通信父指向子子指向父一、组件化在大型应用开发的时候,页面可以划分成很多部分。往往不同的页面,也会有相同的部分。例如可能会有相同的头部导航。但是如果每个页面都独立开发,这无疑增加了我们开发的成本。所以我们会把页面的不同部分拆分成立的组件,然后在不同页面就可以共享这些组件,避免重复开发。全局组件局...原创 2019-07-27 11:04:53 · 223 阅读 · 0 评论 -
微服务项目之电商--9.商城架构图及商城管理系统前端页面介绍及电商项目初步搭建(1)
目录一、商城架构图前端:二、商城管理系统前端页面1、SPA介绍2、webpack四个核心概念3、vue-cli安装4、项目测试三、电商项目搭建创建父模块管理创建子模板注册中心ly-registry创建modul子项目ly-gateway创建ly-item父工程(位于leyou父工程的下面)创建ly-item的modul子项目ly-item...原创 2019-07-29 09:32:27 · 6364 阅读 · 0 评论 -
微服务项目之电商--29.微服务项目总结
一、微服务项目1.1.项目介绍 乐优商城是一个全品类的电商购物网站(B2C) ,目标是打造一个可扩展的,未来能支持千万用户量的商城。因此采用了目前流行的微服务架构方案。 目前国内实施微服务有两套技术解决方案: ●一种是以阿里的Dubbo为核心的,基于RPC的微服务架构 ●一种是以Spring的SpringCloud的为核心的, 基于Res...原创 2019-08-21 21:03:21 · 521 阅读 · 0 评论 -
微服务项目之电商--10.创建通用工程ly-common项目及通用异常处理(2)
目录一、创建通用工程ly-common项目1、引入四个工具包引入springboot的自动日志配置相关依赖2、jsonUtile类的使用二、通用异常处理1.场景interface项目中创建实体类在service项目中编写业务使用insomnia工具测试问题解决自定义异常一、创建通用工程ly-common项目1、引入四个工具包引入...原创 2019-07-29 15:34:54 · 704 阅读 · 1 评论 -
微服务项目之电商--11.使用nginx反向代理实现域名解析及安装nginx问题解决
目录一、地域名解析1.域名服务器解析问题2.解决域名解析问题二、nginx解决端口问题1、nginx作为反向代理2、虚拟机安装nginxnginx安装解决办法:安装pcre安装zlib配置反向代理域名解析流程一、地域名解析浏览器会首先在本机的hosts文件中查找域名映射的IP地址,如果查找到就返回IP ,没找到则进行域名服务器解析,一般本地解析...原创 2019-07-30 10:11:37 · 791 阅读 · 0 评论 -
微服务项目之电商--12.商品分类查询分析和书写业务代理实现商品类型查询
目录一、商品分类查询1、导入数据商品分类的数据结构书写业务代理实现商品类型查询一、商品分类查询 一个商品分类下有很多商品 一个商品分类下有很多品牌 而一个品牌,可能属于不同的分类 一个品牌下也会有很多商品 1、导入数据docker启动mysql导入数据商品分类的数据结构由于在商品中中存在级别,所以需要设...原创 2019-07-30 15:57:58 · 581 阅读 · 0 评论 -
微服务项目之电商--13.跨域问题解决及品牌管理vue界面实现
目录一、跨域问题1.为什么有跨域问题?2.解决跨域问题的方案3.cors解决跨域1).什么是cors2).cors原理3.cors解决跨域问题二、品牌管理vue实现一、跨域问题跨域:浏览器对于javascript的同源策略的限制 。以下情况都属于跨域:如果域名和端口都相同,但是请求路径不同,不属于跨域,如:www.jd.com/item...原创 2019-07-31 15:42:19 · 506 阅读 · 0 评论 -
微服务项目之电商--14.异步axios的使用和前端列表信息发出
目录一、后台数据请求1、异步查询axios2、搜索功能3、分页后台请求参数一、后台数据请求1、异步查询axios异步查询数据,自然是通过ajax查询,大家首先想起的肯定是jQuery。但jQuery与MVVM的思想不吻合,而且ajax只是jQuery的一小部分。因此不可能为了发起ajax请求而去引用这么大的一个库。安装:npm install axios...原创 2019-08-01 05:50:49 · 205 阅读 · 0 评论 -
微服务项目之电商--15.后台分页查询及新增品牌业务添加
目录一、后台提供查询接口1.数据库表2.实体类3、mapper4.controller分页业务与通用mapper的使用前端数据接收二、新增品牌1.controller2、service3、mapper(新增中间表)4.新增事务@Transactional一、后台提供查询接口1.数据库表这里需要注意的是,品牌和商品分类之间是...原创 2019-08-02 07:28:38 · 1097 阅读 · 0 评论 -
微服务项目之电商--16.本地实现图片上传及FastDFS架构的介绍安装
目录一、实现图片上传1、创建项目2、引入依赖3、配置文件4、创建启动类编写uploadservice404错误信息绕过网关Nginx的rewrite指令二、FastDFS1、FastDFS的架构1.上传和下载流程2、安装的准备工作1)创建用户2)将文件上传到linux下的/home/leyou/fdfs目录: 3)...原创 2019-08-09 07:17:07 · 1014 阅读 · 0 评论 -
微服务项目之电商--16.fastDFS的java客户端及修改品牌、回显数据、商品分类回显
目录一、fastDFS的java客户端1.引入依赖2.引入配置类3.编写FastDFS属性4.测试5.改造上传逻辑6.测试6.页面测试上传二.修改品牌1.点击编辑出现弹窗2.回显数据3、商品分类回显1.后台提供接口2.前台查询分类并渲染3.新增窗口数据干扰4.提交表单时判断是新增还是修改一、fastDFS的java客户端...原创 2019-08-09 08:23:04 · 402 阅读 · 0 评论 -
微服务项目之电商--17.商品规格数据结构SPU和SKU
目录1.商品规格数据结构1.1.SPU和SKU1.2.数据库设计分析1.2.1.思考并发现问题1.2.2.分析规格参数1.2.3.SKU的特有属性1.3.规格参数表1.3.1.表结构1.3.2.json结构分析2.商品规格参数管理2.1.页面实现2.1.1.整体布局2.2.2.后端代码3.3.导入图片信息4.商品查询4.1.效果...原创 2019-08-09 10:32:08 · 6202 阅读 · 3 评论 -
微服务项目之电商--18.Elasticsearch、kibana、ik分词器介绍和安装及操作索引、删除索引、映射配置、新增数据、.修改数据、删除数据
目录1.Elasticsearch介绍和安装1.1.简介1.1.1.Elastic1.1.2.Elasticsearch1.1.3.版本1.2.安装和配置1.2.1.新建一个用户leyou1.2.2.上传安装包,并解压1.2.3.修改配置1.3.运行1.3.1.错误1:内核过低1.3.2.错误2:文件权限不足1.3.3.错误3:线程数不够...原创 2019-08-10 10:02:56 · 569 阅读 · 0 评论 -
微服务项目之电商--19.ElasticSearch基本、高级查询和 过滤、结果过滤、 排序和聚合aggregations
接上一篇目录3.查询3.1.基本查询:3.1.1 查询所有(match_all)3.1.2 匹配查询(match)3.1.3 多字段查询(multi_match)3.1.4 词条匹配(term)3.1.5 多词条精确匹配(terms)3.2.结果过滤3.2.1.直接指定字段3.2.2.指定includes和excludes3.3 高级查询3.3....原创 2019-08-10 16:59:55 · 557 阅读 · 0 评论 -
微服务项目之电商--20.Spring Data Elasticsearch创建Demo工程、Template索引、Repository文档操作、聚合、高级查询
接上一篇目录5.Spring Data Elasticsearch5.1.简介5.2.创建Demo工程5.3.实体类及注解5.4.Template索引操作5.4.1.创建索引和映射5.3.2.删除索引5.4.Repository文档操作5.4.1.新增文档5.4.2.批量新增5.4.3.修改文档5.4.4.基本查询5.4.5.自定义方法5...原创 2019-08-10 17:11:33 · 381 阅读 · 0 评论 -
微服务项目之电商--21.ElasticSearch索引库数据导入
目录1.索引库数据导入1.1.创建搜索服务1.2.索引库数据格式分析1.2.1.以结果为导向1.2.2.需要什么数据1.2.3.最终的数据结构1.3.商品微服务提供接口1.3.1.商品分类名称查询1.3.2.编写FeignClient1.4.导入数据1.4.1.创建GoodsRepository1.4.2.创建索引1.4.3.导入数据1...原创 2019-08-11 19:35:07 · 1031 阅读 · 1 评论 -
微服务项目之电商--22.页面静态化处理以及Thymeleaf实现静态化以及nginx代理静态页面
目录页面静态化1.简介1.1.问题分析1.2.什么是静态化1.3.如何实现静态化2.Thymeleaf实现静态化2.2.1.概念2.2.具体实现2.3.什么时候创建静态文件2.4.重启测试:3.nginx代理静态页面页面静态化1.简介1.1.问题分析现在,我们的页面是通过Thymeleaf模板引擎渲染后返回到客户端。在后台需要...原创 2019-08-12 21:41:52 · 599 阅读 · 0 评论 -
微服务项目之电商--23.RabbitMQ及五种消息模型及演示demo
目录1.RabbitMQ1.2.消息队列(MQ)1.2.1.什么是消息队列1.2.2.AMQP和JMS1.2.3.常见MQ产品1.2.4.RabbitMQ1.3.下载和安装1.3.1.下载1.3.2.安装2.五种消息模型2.1.基本消息模型2.1.1.生产者发送消息2.1.2.管理工具中查看消息2.1.3.消费者获取消息2.1.4....原创 2019-08-13 10:59:55 · 776 阅读 · 0 评论 -
微服务项目之电商--24.Spring AMQP及项目改造
目录1.Spring AMQP1.1.简介2.2.依赖和配置2.3.监听者2.4.AmqpTemplate2.5.测试代码3.项目改造3.1.思路分析3.2.商品服务发送消息3.2.1.引入依赖3.2.2.配置文件3.2.3.改造GoodsService3.3.搜索服务接收消息3.3.1.引入依赖3.3.2.添加配置3.3.3....原创 2019-08-13 15:18:05 · 254 阅读 · 0 评论 -
微服务项目之电商--25.阿里短信服务及Redis的使用及注册功能和根据用户名和密码查询用户面向接口文档开发
目录1、阿里短信服务1.1创建短信微服务1.1.1.创建module1.1.2.pom1.1.3.编写启动类1.1.4.编写application.yml1.2.编写短信工具类1.2.1.属性抽取1.2.2.工具类1.3.编写消息监听器1.4.启动2.发送短信功能2.1.接口说明RedisSpring Data Redis...原创 2019-08-17 19:57:11 · 589 阅读 · 0 评论 -
微服务项目之电商--26.无状态登录原理及授权中心及cookie的登录验证
目录1.无状态登录原理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.授权中心2.1.创建授权中心2.1.1.创建父module2....原创 2019-08-20 17:33:25 · 1357 阅读 · 0 评论 -
微服务项目之电商--27.订单系统接口和Swagger-UI及生成产品ID的方式及生成微信付款链接及查询支付状态
目录1.订单系统接口1.1.导入订单服务1.2.Swagger-UI1.2.1.什么是OpenAPI1.2.2.什么是swagger?1.2.3.快速入门1.3.测试接口1.3.1.创建订单接口1.3.2.生成ID的方式1.3.2.查询订单接口1.3.3.更新订单状态1.3.4.分页查询订单1.3.5.生成微信付款链接1.3.6.查询支...原创 2019-08-21 07:34:54 · 1121 阅读 · 0 评论 -
微服务项目之电商--28.微信支付
目录3.微信支付3.1.介绍3.2.开发流程3.3.生成二维码3.3.1.生成预交易链接3.3.2.生成二维码3.4.付款状态查询3.4.1.页面循环查询支付状态3.4.2.付款成功页面3.微信支付3.1.介绍微信支付官方文档:https://pay.weixin.qq.com/index.php/core/home/login?return_...原创 2019-08-21 11:08:08 · 947 阅读 · 0 评论