【微服务】
文章平均质量分 93
shenzhen_zsw
这个作者很懒,什么都没留下…
展开
-
rancher容器网络出现问题,大面积服务启动失败、Timeout getting IP address
rancher容器网络出现问题,大面积服务启动失败。如服务出现Timeout getting IP address或者查看基础设施应>network-services>metadata>network-services-metadata-2日志出现:Failed to load answers from file: Failed to load answers from fi...原创 2019-05-26 11:56:02 · 2022 阅读 · 0 评论 -
SpringCloud使用Redis缓存
SpringCloud使用Redis缓存Redis环境搭建SpringDataRedis实现文章的缓存处理查询文章操作缓存修改或删除后清除缓存缓存过期处理为了提高查询的性能,我们通常采用Redis缓存解决。Redis环境搭建我们以docker的形式搭建Redis 服务docker run -di --name=tensquare_redis -p 6379:6379 redisSpri...原创 2019-05-26 14:43:55 · 15796 阅读 · 3 评论 -
SpringCloud用Spring Cache的方式使用Redis缓存
SpringCloud用Spring Cache的方式使用Redis缓存Spring Cache活动信息的缓存(1)pom.xml中引入SpringDataRedis(2)添加redis配置(3)启动类添加@EnableCaching注解(4)@Cacheable注解的用法(5)@CacheEvict的用法Spring CacheSpring Cache使用方法与Spring对事务管理的配置相...原创 2019-05-26 15:10:37 · 3843 阅读 · 2 评论 -
文档型数据库MongoDB-Java操作MongoDB
文档型数据库MongoDB-Java操作MongoDBmongodb-driver查询全部记录条件查询(1)查询userid为1013的记录(2)查询浏览量大于1000的记录插入数据SpringDataMongoDBmongodb-drivermongodb-driver是mongo官方推出的java连接mongoDB的驱动包,相当于JDBC驱动。我们通过一个入门的案例来了解mongodb-d...原创 2019-05-27 17:12:23 · 400 阅读 · 0 评论 -
分布式搜索引擎ElasticSearch-搜索微服务开发
分布式搜索引擎ElasticSearch-搜索微服务开发模块搭建(1)创建模块tensquare_search ,pom.xml引入依赖(2)application.yml(3)创建包com.tensquare.search ,包下创建启动类添加文章(1)创建实体类(2)创建数据访问接口(3)创建业务逻辑类(4)创建控制器类文章搜索(1)ArticleSearchRepository新增方法定义(...原创 2019-05-30 13:29:53 · 850 阅读 · 0 评论 -
文档型数据库MongoDB-SpringCloud采用SpringDataMongoDB框架操作MongoDB
文档型数据库MongoDB-SpringCloud采用SpringDataMongoDB框架操作MongoDBSpringCloud采用SpringDataMongoDB框架操作MongoDBpom.xml引入依赖创建application.yml创建启动类基本增删改查API实现(1)创建实体类(2)创建数据访问接口(3)创建业务逻辑类(4)com.tensquare.spit包下创建contro...原创 2019-05-27 19:58:53 · 856 阅读 · 0 评论 -
Failed to auto-configure a DataSource: 'spring.datasource.url' is not specified and no embedded data
Failed to auto-configure a DataSource: 'spring.datasource.url' is not specified and no embedded data异常描述如何解决使用了@EnableAutoConfiguration的时候使用了@SpringBootApplication的时候使用了@SpringCloudApplication的时候通过配置文...原创 2019-05-28 00:33:32 · 2524 阅读 · 0 评论 -
分布式搜索引擎ElasticSearch-ElasticSearch部署与启动
文档型数据库MongoDB-ElasticSearch部署与启动下载ElasticSearch 5.6.8版本root用户无法启动浏览器查看下载ElasticSearch 5.6.8版本https://www.elastic.co/downloads/past-releases/elasticsearch-5-6-8资源\配套软件中也提供了安装包无需安装,解压安装包后即可使用在命令提示符...原创 2019-05-28 10:30:32 · 201 阅读 · 0 评论 -
Spring Boot 跨域处理-方法级别支持
Spring Boot 跨域处理-方法级别支持跨域方法级别支持怎么解决跨域?跨域方法级别支持跨域是什么?浏览器从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域 。我们是采用前后端分离开发的,也是前后端分离部署的,必然会存在跨域问题。怎么解决跨域?怎么解决跨域?很简单,只需要在controller类上添加注解@CrossOrigin 即可!这个注解其实是CO...原创 2019-05-23 20:50:51 · 117 阅读 · 0 评论 -
分布式ID生成器
分布式ID生成器分布式ID生成器分布式ID生成器-IdWorker具体使用方式启动类业务使用IdWorker分布式ID生成器由于我们的数据库在生产环境中要分片部署(MyCat),所以我们不能使用数据库本身的自增功能来产生主键值,只能由程序来生成唯一的主键值。我们采用的是开源的twitter( 非官方中文惯称:推特.是国外的一个网站,是一个社交网络及微博客服务) 的snowflake (雪花...原创 2019-05-23 21:09:35 · 191 阅读 · 0 评论 -
公共异常处理
公共异常处理返回码定义类返回结果实体类异常处理类为了使我们的代码更容易维护,每个微服我们创建一个类集中处理异常返回码定义类package entity;public class StatusCode { public static final int OK=20000;//成功 public static final int ERROR =20001;//失败 p...原创 2019-05-23 21:22:59 · 566 阅读 · 0 评论 -
分布式搜索引擎ElasticSearch-Elasticsearch Docker环境下安装
分布式搜索引擎ElasticSearch-Elasticsearch Docker环境下安装容器的创建与远程连接(1)下载镜像(此步省略)(2)创建容器(3)浏览器输入地址:容器的创建与远程连接(1)下载镜像(此步省略)docker pull elasticsearch:5.6.8(2)创建容器docker run -di --name=tensquare_elasticsearch ...原创 2019-05-31 02:27:41 · 178 阅读 · 0 评论 -
分布式搜索引擎ElasticSearch-Postman调用RestAPI
分布式搜索引擎ElasticSearch-Postman调用RestAPIPostman调用RestAPI新建索引新建文档查询全部文档修改文档按ID查询文档基本匹配查询模糊查询删除文档Postman调用RestAPI新建索引例如我们要创建一个叫articleindex的索引 ,就以put方式提交http://192.168.2.10:9200/articleindex/输出:{ ...原创 2019-05-28 12:52:24 · 457 阅读 · 0 评论 -
采用JpaSpecificationExecutor中分页用法
采用JpaSpecificationExecutor中分页用法创建Specification对象分页查询LabelDao创建Specification对象 private Specification<Label> createSpecification(Label label){ Specification specification = new Specif...原创 2019-05-24 02:11:56 · 1387 阅读 · 0 评论 -
SpringCloud之初入江湖-服务发现组件 Eureka
SpringCloud之初入江湖-服务发现组件 Eureka服务发现组件 EurekaEureka2.2 Eureka服务端开发1)创建tensquare_eureka模块2)引入依赖 父工程pom.xml定义SpringCloud版本3)添加application.yml4)编写启动类5)启动运行启动类2.3 服务注册1)将其他微服务模块添加依赖2)修改每个微服务的application.yml...原创 2019-06-05 15:00:17 · 141 阅读 · 0 评论 -
SpringCloud之初入江湖-Feign实现服务间的调用
SpringCloud之初入江湖-Feign实现服务间的调用Feign简介快速体验1)在tensquare_qa模块添加依赖2)修改tensquare_qa模块的启动类,添加注解3)在tensquare_qa模块创建 com.tensquare.qa.client包,包下创建接口4)修改tensquare_qa模块的 ProblemController5)测试负载均衡Feign简介Feign是...原创 2019-06-05 17:11:04 · 252 阅读 · 0 评论 -
SpringCloud之初入江湖-交友微服务开发
SpringCloud之初入江湖-交友微服务开发交友微服务开发需求分析交友微服务本身的功能交友微服务-添加与删除好友模块搭建1)创建工程tensquare_friend,pom.xml引入依赖2)创建application.yml3)编写启动类添加好友1)创建实体类2)新建dao包,创建FriendDao接口3)创建业务逻辑类4)控制器类5)测试添加非好友1)构建实体类2)创建数据访问接口3)修改...原创 2019-06-05 19:51:22 · 888 阅读 · 0 评论 -
SpringCloud之一统天下-熔断器Hystrix
SpringCloud之一统天下-熔断器Hystrix熔断器Hystrix为什么要使用熔断器什么是Hystrix快速体验1)修改tensquare_qa模块的application.yml,开启hystrix2)创建熔断器实现类BaseClientImpl3)修改LabelClient的注解4)测试运行熔断器Hystrix为什么要使用熔断器在微服务架构中通常会有多个服务层调用,基础服务的故障...原创 2019-06-06 17:42:15 · 181 阅读 · 0 评论 -
商城-跨域问题
商城-跨域问题6.跨域问题6.1.为什么有跨域问题?6.2.解决跨域问题的方案6.3.cors解决跨域6.3.1.什么是cors6.3.2.原理有点复杂6.3.2.1.简单请求6.3.2.2.特殊请求6.3.3.实现非常简单6.跨域问题跨域:浏览器对于javascript的同源策略的限制 。以下情况都属于跨域:跨域原因说明示例域名不同www.jd.com 与 www....原创 2019-06-13 15:24:06 · 198 阅读 · 0 评论 -
SpringCloud之一统天下-微服务网关Zuul
SpringCloud之一统天下-微服务网关Zuul微服务网关Zuul为什么需要微服务网关什么是ZuulZuul路由转发管理后台微服务网关1)创建子模块tensquare_manager,pom.xml引入eureka-client 和zuul的依赖2)创建application.yml3)编写启动类网站前台的微服务网关1)创建子模块tensquare_web,pom.xml引入依赖zuul2)创...原创 2019-06-07 19:41:05 · 618 阅读 · 0 评论 -
SpringCloud之一集中配置组件SpringCloudConfig
集中配置组件SpringCloudConfigSpring Cloud Config简介在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。在Spring Cloud中,有分布式配置中心组件spring cloudconfig ,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库中。在spring cloud config ...原创 2019-06-07 20:40:17 · 344 阅读 · 0 评论 -
SpringCloud之一消息总线组件SpringCloudBus
SpringCloud之一消息总线组件SpringCloudBus消息总线组件SpringCloudBusSpringCloudBus简介代码实现配置服务端配置客户端自定义配置的读取完成十次方工程的配置集中管理消息总线组件SpringCloudBusSpringCloudBus简介如果我们更新码云中的配置文件,那客户端工程是否可以及时接受新的配置信息呢?我们现在来做有一个测试,修改一下码云...原创 2019-06-07 21:33:25 · 479 阅读 · 0 评论 -
商城-从0开始品牌的查询
商城-从0开始品牌的查询7.从0开始品牌的查询7.1.设计前端页面7.1.1.查询表格7.1.2.表格分析7.1.3.动手实现7.1.3.1.修改模板7.1.3.2.编写数据模型7.1.3.3.数据初始化7.2.3.4.完整代码7.1.4.优化页面7.1.4.1.编辑和删除按钮7.1.4.2.新增按钮7.1.4.3.卡片(card)7.1.4.4.添加搜索框7.1.4.5.添加搜索图标7.1.4....原创 2019-06-14 13:06:18 · 451 阅读 · 0 评论 -
商城-品牌的新增
商城-品牌的新增1.品牌的新增1.1.页面实现1.1.1.初步编写弹窗1.1.2.实现弹窗的可见和关闭1.1.3.新增品牌的表单页1.1.4.编写表单1.1.4.1.表单1.1.4.2.文本框1.1.4.3.级联下拉选框1.1.4.4.文件上传项1.1.4.5.按钮1.1.5.表单校验1.1.5.1.校验规则1.1.5.2.项目中代码1.1.6.表单提交1.2.后台实现新增1.2.1.contro...原创 2019-06-14 13:22:14 · 225 阅读 · 0 评论 -
商城-实现图片上传
商城-实现图片上传2.实现图片上传2.1.搭建项目2.1.1.创建module2.1.2.依赖2.1.3.编写配置2.1.4.启动类2.2.编写上传功能2.2.1.controller2.2.2.service2.2.3.测试上传2.2.4.绕过网关2.2.4.1.Zuul的路由过滤2.2.4.2.Nginx的rewrite指令2.2.5.跨域问题2.2.6.之前上传的缺陷2.实现图片上传刚才...原创 2019-06-14 13:51:40 · 853 阅读 · 0 评论 -
商城-FastDFS
商城-FastDFS3.FastDFS3.1.什么是分布式文件系统3.2.什么是FastDFS3.3.FastDFS的架构3.3.1.架构图3.3.2.上传和下载流程3.4.安装和使用3.5.java客户端3.5.1.引入依赖3.5.2.引入配置类3.5.3.编写FastDFS属性3.5.4.测试3.5.5.改造上传逻辑3.5.6.测试3.6.页面测试上传3.FastDFS3.1.什么是分布式...原创 2019-06-14 13:56:03 · 163 阅读 · 0 评论 -
商城-修改品牌
商城-修改品牌4.修改品牌4.1.点击编辑出现弹窗4.2.回显数据4.3.商品分类回显4.3.1.后台提供接口controller4.3.2.前台查询分类并渲染4.3.3.新增窗口数据干扰4.3.4.提交表单时判断是新增还是修改4.修改品牌修改的难点在于回显。当我们点击编辑按钮,希望弹出窗口的同时,看到原来的数据:4.1.点击编辑出现弹窗这个比较简单,修改show属性为true即可实现...原创 2019-06-14 14:06:25 · 245 阅读 · 0 评论 -
商城-商品规格管理-商品规格数据结构
商城-商品规格管理-商品规格数据结构1.商品规格数据结构1.1.SPU和SKU1.2.数据库设计分析1.2.1.思考并发现问题1.2.2.分析规格参数1.2.3.SKU的特有属性1.2.4.搜索属性1.3.规格参数表1.3.1.表结构1.3.2.json结构分析1.商品规格数据结构乐优商城是一个全品类的电商网站,因此商品的种类繁多,每一件商品,其属性又有差别。为了更准确描述商品及细分差别,抽象...原创 2019-06-14 17:10:44 · 4139 阅读 · 0 评论 -
商城-商品规格管理-商品规格参数管理
商城-商品规格管理-商品规格参数管理2.商品规格参数管理2.1.页面实现2.1.1.整体布局2.1.2.data中定义的属性2.2.规格参数的查询2.2.1.树节点的点击事件2.2.2.后端代码2.3.增、删、改(作业)2.商品规格参数管理2.1.页面实现页面比较复杂,这里就不带着大家去实现完整页面效果了,我们一起分析一下即可。2.1.1.整体布局打开规格参数页面,看到如下内容:因为...原创 2019-06-14 23:55:40 · 3107 阅读 · 1 评论 -
商城-商品规格管理-SPU和SKU数据结构
商城-商品规格管理-SPU和SKU数据结构3.SPU和SKU数据结构3.1.SPU表3.1.1.表结构3.1.2.spu中的规格参数3.1.2.1.specifications字段3.1.2.2.spec_template字段3.2.SKU表3.2.1.表结构3.2.2.sku中的特有规格参数3.2.2.1.indexes字段3.2.2.2.own_spec字段3.3.导入图片信息3.SPU和S...原创 2019-06-14 23:58:25 · 5066 阅读 · 2 评论 -
商城-商品管理-商品查询
商城-商品管理-商品查询4.商品查询4.1.效果预览4.2.从0开始4.3.页面实现4.3.1.页面基本表格4.3.2.上下架状态按钮4.4.后台提供接口4.4.1.实体类4.4.2.controller4.4.3.service4.4.4.mapper4.4.5.Category中拓展查询名称的功能4.5.测试4.商品查询4.1.效果预览接下来,我们实现商品管理的页面,先看下我们要实现的效...原创 2019-06-15 00:25:27 · 1083 阅读 · 0 评论 -
商城-商品管理-商品新增
商城-商品管理-商品新增5.商品新增5.1.效果预览5.2.从0开始5.3.新增商品页的基本框架5.3.1.Steppers,步骤线5.3.2.编写页面5.3.3.步骤切换按钮分析页面添加按钮添加点击事件5.4.商品基本信息5.4.1.在data中定义Goods属性5.4.2.商品分类选框5.4.3.品牌选择select组件页面实现后台提供接口测试效果5.4.4.标题等其它字段5.5.商品描述信息...原创 2019-06-15 00:51:44 · 2104 阅读 · 0 评论 -
用户微服务-用户注册
用户微服务-用户注册用户注册需求分析发送短信验证码准备工作代码实现用户注册用户注册需求分析注册账号,用手机号注册,填写后发送短信验证码,填写短信验证码正确方可注册成功。我们这里所做的实际上就是消息生产者。1)用户注册,会生成验证码;2)验证码保存在缓存中,并设置过期时间;3)将手机号、验证码发送到消息中间件中;这里所做的实际上就是消息生产者。发送短信验证码实现思路: 在用户微服...原创 2019-06-04 13:10:26 · 955 阅读 · 0 评论 -
认识微服务-系统架构演变
认识微服务-系统架构演变1.系统架构演变1.1. 集中式架构1.2.垂直拆分1.3.分布式服务1.4.服务治理(SOA)1.5.微服务1.系统架构演变随着互联网的发展,网站应用的规模不断扩大。需求的激增,带来的是技术上的压力。系统架构也因此也不断的演进、升级、迭代。从单一应用,到垂直拆分,到分布式服务,到SOA,以及现在火热的微服务架构,还有在Google带领下来势汹涌的Service Mes...原创 2019-06-10 16:12:50 · 621 阅读 · 1 评论 -
认识微服务-远程调用方式
认识微服务-系统架构演变2.远程调用方式2.1.认识RPC2.2.认识Http2.3.如何选择?2.远程调用方式无论是微服务还是SOA,都面临着服务间的远程调用。那么服务间的远程调用方式有哪些呢?常见的远程调用方式有以下几种:RPC:Remote Produce Call远程过程调用,类似的还有RMI。自定义数据格式,基于原生TCP通信,速度快,效率高。早期的webservice,现在...原创 2019-06-10 16:15:02 · 387 阅读 · 0 评论 -
认识微服务-Http客户端工具
认识微服务-Http客户端工具3.Http客户端工具3.1.HttpClient3.1.1.介绍3.1.2.使用3.1.3.Json转换工具对象转jsonjson转普通对象json转集合json转任意复杂类型3.3.Spring的RestTemplate3.Http客户端工具既然微服务选择了Http,那么我们就需要考虑自己来实现对请求和响应的处理。不过开源世界已经有很多的http客户端工具,能...原创 2019-06-10 16:20:12 · 731 阅读 · 0 评论 -
认识微服务-初始SpringCloud
认识微服务-初始SpringCloud4.初始SpringCloud4.1.简介4.2.版本4.初始SpringCloud微服务是一种架构方式,最终肯定需要技术架构去实施。微服务的实现方式很多,但是最火的莫过于Spring Cloud了。为什么?后台硬:作为Spring家族的一员,有整个Spring全家桶靠山,背景十分强大。技术强:Spring作为Java领域的前辈,可以说是功力深厚。...原创 2019-06-10 16:22:42 · 204 阅读 · 0 评论 -
认识微服务-微服务场景模拟
认识微服务-微服务场景模拟5.微服务场景模拟5.1.服务提供者5.1.1.Spring脚手架创建工程5.1.2.编写代码5.1.3.启动并测试:5.2.服务调用者5.2.1.创建工程5.2.2.编写代码5.2.3.启动测试:5.3.有没有问题?5.微服务场景模拟首先,我们需要模拟一个服务调用的场景。方便后面学习微服务架构5.1.服务提供者我们新建一个项目,对外提供查询用户的服务。5.1....原创 2019-06-10 16:27:22 · 341 阅读 · 0 评论 -
认识微服务-Eureka注册中心
认识微服务-Eureka注册中心6.Eureka注册中心6.1.认识Eureka6.2.原理图6.3.入门案例6.3.1.编写EurekaServer6.3.2.将user-service注册到Eureka6.3.3.消费者从Eureka获取服务6.4.Eureka详解6.4.1.基础架构6.4.2.高可用的Eureka Server6.4.3.服务提供者6.4.4.服务消费者6.4.5.失效剔除...原创 2019-06-10 16:35:51 · 164 阅读 · 0 评论 -
认识微服务-负载均衡Ribbin
SpringCloud-负载均衡Ribbin7.负载均衡Ribbin7.1.启动两个服务实例7.2.开启负载均衡7.3.源码跟踪7.4.负载均衡策略7.5.重试机制7.负载均衡Ribbin在刚才的案例中,我们启动了一个user-service,然后通过DiscoveryClient来获取服务实例信息,然后获取ip和端口来访问。但是实际环境中,我们往往会开启很多个user-service的集群...原创 2019-06-10 16:41:09 · 1354 阅读 · 0 评论