
springCloud
springCloud
一只小小狗
大家好我是练习时长2年半的程序员
展开
-
spring security使用iframe拒绝访问
【代码】spring security使用iframe拒绝访问。原创 2023-03-28 10:12:35 · 300 阅读 · 0 评论 -
There is no PasswordEncoder mapped for id “null”
没有为id“null”映射PasswordEncoder,说白了就是没有添加加密方式,并且你的选择也没有使用加密方式。原创 2023-03-14 16:35:10 · 926 阅读 · 0 评论 -
Spring Cloud Config——6 (Spring Cloud Config安全保护 整合Spring Security)
Spring Cloud Config安全保护 整合Spring Security生产环境中我们的配置中心肯定是不能随随便便被人访问的,我们可以加上适当的保护机制,由于微服务是构建在Spring Boot之上,所以整合Spring Security是最方便的方式。1.在springcloud config server项目中添加依赖 <!-- 整合spring security --> <dependency> <groupId&g原创 2021-01-14 18:30:53 · 240 阅读 · 0 评论 -
Spring Cloud Config——5 (Spring Cloud Config工作原理)
Spring Cloud Config工作原理服务端 的工作原理图如下: 1、 首先需要一个远程Git仓库,平时测试可以使用GitHub,在实际生产环境中,需要自己搭建一个Git服务器,远程Git仓库的主要作用是用来保存我们的配置文件; 2、除了远程Git仓库之外,我们还需要一个本地Git仓库,每当Config Server访问远程Git仓库时,都会克隆一份到本地,这样当选程仓库无法连接时,就直接使用本地存储的配置信息; 3、微服务A、微服务B则是我们的具体应用,这些应用在启动的时会从C原创 2021-01-14 18:16:57 · 225 阅读 · 0 评论 -
Spring Cloud Config——4 (构建Spring Cloud Config配置中心客户端)
构建Spring Cloud Config配置中心客户端1.创建一个普通的Springboot项目2.加入pom依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> </dependency>原创 2021-01-14 18:10:35 · 99 阅读 · 0 评论 -
spring cloud config 不读取 bootstrap.properties/yml
spring cloud config 不读取 bootstrap.properties/yml总结 还是那句话springboot cloud中 大部分问题 都是版本问题参考大佬的留言2.4.0 以后的版本无法获取(于是我退到 2.3.7 )并且不使用springcloud2020 改用 Hoxton.SR9运行成功总结 还是那句话springboot cloud中 大部分问题 都是版本问题...原创 2021-01-14 18:04:09 · 1713 阅读 · 3 评论 -
SpringCloud的Config Client端Could not resolve placeholder ‘xxx‘ in value “${xxx}错误解决
SpringCloud的Config Client端Could not resolve placeholder ‘xxx’ in value "${xxx}写SpringCloud的Config Client端时,当尝试去配置文件里拿某${xxx}的值会出现以下错误当在第一个application.yml下找不到的时候,它就会报错在主启动类中添加如下片段是正解: @Bean public static PropertySourcesPlaceholderConfigurer placeholder原创 2021-01-14 17:38:59 · 1568 阅读 · 2 评论 -
Spring Cloud Config——3 (构建Spring Cloud Config配置中心仓库)
构建Spring Cloud Config配置中心仓库说明:在使用命令之前先从https://git-scm.com/网站下载安装git的window客户端1、添加提交人的账号信息,git需要知道提交人的信息作为标识;2、将该目录变为git可以管理的目录;3. 将文件添加到缓存区;4.把文件提交到本地仓库5.添加远程主机5.1 添加仓库5.2新建仓库6、将本地的master分支推送到origin主机;启动程序接下来我们需要在github 上设置好配置中心,首先在本地创建一个文件夹叫wkcto,然后在里面创原创 2021-01-14 17:03:25 · 189 阅读 · 0 评论 -
Spring Cloud Config——2 (构建Spring Cloud Config配置中心服务端)
构建Spring Cloud Config配置中心1.创建一个普通springboot项目2.导入依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> </dependency>3.入口类开启原创 2021-01-14 16:16:00 · 74 阅读 · 0 评论 -
Spring Cloud Config——1 (Spring Cloud Config是什么?)
Spring Cloud Config是什么? 在分布式系统中,尤其是当我们的分布式项目越来越多,每个项目都有自己的配置文件,对配置文件的统一管理就成了一种需要,而Spring Cloud Config就提供了对各个分布式项目配置文件的统一管理支持。Spring Cloud Corfig 也叫分布式配置中心,市面上开源的分布式配置中心有很多,比如国内的,360 的QConf、淘宝的diamond、百度的disconf都是解决分布式系统配置管理问题,国外也有很多开源的配置中心Apache的Apach原创 2021-01-14 16:01:17 · 127 阅读 · 0 评论 -
API网关Zuul——5 (Zuul的异常处理)
Zuul的异常处理1. Zuul请求的生命周期图2. 异常处理(两种方式)2.1 禁用默认SendErrorFilter过滤器,自定义ErrorFilter过滤器2.1.1 配置文件yml Filter2.1.2 没有异常我们人为构造一个异常2.1.3 测试结果2.2 自定义全局error错误页面Spring Cloud Zuul对异常的处理是非常方便的,但是由于Spring Cloud处于迅速发展中,各个版本之间有所差异,本案例是以Finchley.RELEASE版本为例,来说明Spring Cloud原创 2021-01-13 19:51:12 · 961 阅读 · 0 评论 -
API网关Zuul——4 (Zuul路由规则)
Zuul路由规则1.简化路由规则配置2.默认路由配置规则3.默认情况下,Eureka上所有注册的服务都会被Zuul创建映射关系来进行路由。3.1 忽略掉某个 服务的默认路由规则3.2 忽略 服务某个路径下的默认路由规则 (细化)4. 路由配置通配符的含义1.简化路由规则配置原来的yml配置,#配置路由规则zuu1: routes: api-wjm: path: /api-wjm/** serviceId: 05-springcloud-service-feign经过简化当访问原创 2021-01-13 18:40:30 · 337 阅读 · 0 评论 -
API网关Zuul——3 (使用Zuul进行请求过滤)
使用Zuul进行请求过滤1.我们定义一个过滤器并继承自ZuulFilter,并将Filter作为一个Bean2.测试打开注册中心-服务提供者-消费者-apizuul网关,启动访问后发现我们知道Spring cloud Zuul就像一个安检站,所有请求都会经过这个安检站,所以我们可以在该安检站内实现对请求的过滤,下面我们以一个权限验证案例说.1.我们定义一个过滤器并继承自ZuulFilter,并将Filter作为一个Bean//@Component 相当于Bean的注入@Componentpubli原创 2021-01-13 17:48:19 · 304 阅读 · 1 评论 -
Zuul路由Forwarding error错误 Load balancer does not have available server for client:
Zuul路由Forwarding error错误yml是# 内置Tomcat端口server: port: 8088spring: application: name: 06-springcloud-api-gateway#配置API网关到注册中心上。API网关也将作为一个服务注册到eureka-server上eureka: instance: client: service-url.defaultZone: http://eureka8083:8083原创 2021-01-12 18:18:40 · 705 阅读 · 0 评论 -
API网关Zuul——2 (使用Zuul构建API网关)
使用Zuul构建API网关1.创建一个普通的SpringBoot项目,然后添加相关依赖 zuul 和 eureka2.在入口类添加 @EnableZuulProxy注解,开启Zuul的API网关服务功能3.在yml文件中配置路由规则4.测试1.创建一个普通的SpringBoot项目,然后添加相关依赖 zuul 和 eureka<!-- netflix开发 整合进spring cloud zuul 网关 --> <dependency>原创 2021-01-11 20:10:38 · 437 阅读 · 0 评论 -
API网关Zuul——1 (Spring Cloud的Zuul是什么?)
Spring Cloud Zuul是什么?我们已经可以基本搭建出一套简略版的微服务架构了,我们有注册中心Eureka,可以将服务注册到该注册中心中,我们有 Ribbon或Feign可以实现对服务负载均衡地调用,我们有Hystrix可以实现服务的熔断,但是我们还缺少什么呢?来看一个 微服务架构图在上面的架构图中,我们的服务包括:内部服务Service A和内部服务ServiceB,这两个服务都是集群部署,每个服务部署了3个实例,他们都会通过EurekaServer注册中心注册与订阅服务,而 Open原创 2021-01-11 18:36:46 · 158 阅读 · 0 评论 -
声明式服务消费Feign——5(使用Feign实现服务熔断的异常信息)
使用Feign实现服务熔断的异常信息1.在声明式服务消费中 Service 为@FeignClient修饰的接口加上fallback方法可以实现远程服务发生异常后进行服务的熔断,但是不能获取到远程服务的异常信息,如果要获取远程服务的异常信息,怎么办?此时可以使用fallbackFactory:1.在声明式服务消费中 Service是我自己设置的 除零模拟网络延迟 (睡眠)超时熔断...原创 2021-01-11 15:49:07 · 161 阅读 · 0 评论 -
Cannot resolve configuration property ‘feign.hystrix.enabled‘ 解决 feign.hystrix.enabled=true 不生效的问题
解决 feign.hystrix.enabled=true 不生效的问题springcloud 2020之前的版本springcloud 2020版本由于springboot 版本前后 yml内容发现改变。springcloud 2020之前的版本下载相关源码,找到如下代码:// 此代码位于 org.springframework.cloud.netflix.feign.FeignClientsConfiguration$HystrixFeignConfiguration@Configuratio原创 2021-01-11 15:35:21 · 4650 阅读 · 4 评论 -
声明式服务消费Feign——4(使用Feign实现消费者服务熔断)
使用Feign实现消费者服务熔断服务熔断1.在yml文件开启 hystrix功能2.指定熔断回调逻辑3.测试 熔断结果服务熔断1.在yml文件开启 hystrix功能2.指定熔断回调逻辑3.测试 熔断结果无法启动 那是因为在最新springboot中 开启熔断是使用 以下配置feign: circuitbreaker: enabled: true# 打开hystrix熔断而不是...原创 2021-01-11 15:27:00 · 1132 阅读 · 1 评论 -
声明式服务消费Feign——3 (使用Feign实现消费者负载均衡)
使用Feign实现消费者负载均衡负载均衡:负载均衡: 我们知道,Spring Cloud提供了Ribbon来实现负载均衡,使用Ribbo直接注入一个RestTemplate对象即可,RestTemplate已经做好了负载均衡的配置;在Spring Cloud下,使用Feign也是直接可以实现负载均衡的,定义一个注解有@FeignClient注解的接口,然后使用@RequestMapping 注解到方法上映射远程的 REST服务,此方法也是做好负赉均衡配置的。...原创 2021-01-11 14:46:24 · 129 阅读 · 0 评论 -
声明式服务消费Feign——2 (使用Feign实现消费者)
使用Feign实现消费者1.创建普通springboot 工程2.添加依赖 <!-- springcloud 版本--> <properties> <spring.cloud-version>2020.0.0</spring.cloud-version> </properties> <dependencies> <!-- eureka依赖 客户端 --> <dep原创 2021-01-11 14:34:32 · 239 阅读 · 0 评论 -
java.lang.IllegalStateException: Annotation @EnableCircuitBreaker found, but there are no implementa
解决:java.lang.IllegalStateException: Annotation @EnableCircuitBreaker found, but there are no implementations. Did you forget to include a starter?在主类添加@EnableCircuitBreaker或@SpringCloudApplication注解我这边的springboot是2.4,springcloud是2020.0.0-M6,应该是版本太高造成的我的原创 2021-01-11 14:28:34 · 2991 阅读 · 1 评论 -
SpringBoot2.0前后 依赖的feign区别
SpringBoot2.0前后 依赖的feign区别Springboot中很多组件 在2.0 前后依赖的pom文件都有所改变SpringBoot2.0 依赖feign <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> &原创 2021-01-11 13:44:27 · 535 阅读 · 0 评论 -
声明式服务消费Feign——1 (Feign是什么?)
Feign是什么?Spring Cloud基于NetflixFeign整合了Ribbon和Hystrix两个组件 Feign是 Netflix公司开发的一个声明式的REST调用客户端; Ribbon负载均衡、Hystrix服务熔断是我们Spring Cloud中进行微服务开发非常基础的组件,在使用的过程中我们也发现它们一般都是同时出现的,而且配置也都非常相似,每次开发都有很多相同的代码,因此 Spring Cloud基于NetflixFeign整合了Ribbon和Hystrix两个组件,让我们的原创 2021-01-11 13:25:40 · 205 阅读 · 0 评论 -
Springboot2.0以后版本 Unable to connect to Command Metric Stream.
Springboot2.0以后版本 Unable to connect to Command Metric Stream.由于版本问题 会出现这种情况springboot 2.0 出现Unable to connect to Command Metric Stream. 所以使用1.5搭建 如果使用springboot2.0 和spring cloud Finchley.M8 版本搭建 使用(/actuator/hystrix.stream 而不是/hystrix.stream 为插入点)1.服原创 2021-01-10 21:28:09 · 304 阅读 · 0 评论 -
unexpected character found (0) in ‘reader‘, line 19, column 19: include: *
unexpected character found (0) in ‘reader’, line 19, column 19: include: *今天学习Spring Boot Actuator配置属性,其中一个属性(打开所有的监控点)management.endpoints.web.exposure.include=*,无论如何也无法运行 。 然后我使用yml进行如下配置:management: endpoints: web: exposure原创 2021-01-10 18:56:08 · 1288 阅读 · 0 评论 -
服务熔断Hystrix-7 (Hystrix仪表盘监控 搭建一个Hystrix Dashboard服务)
@TOC Hystrix仪表盘(Hystrix Dashboard),就像汽车的仪表盘实时显示汽车的各项数据一样,Hystrix仪表盘主要用来监控Hystrix 的实时运行状态,通过它概们可以看到 Hystrix的各项指标信息,从而快速发现系统中存在的问题进而解决它。 要使用Hystrix仪表盘功能,我们首先需要有一个Hystrix Dashboard:这个功能我们可以在原来的消费者应用上添加,让原来的消费者应用具备Hystrix仪表盘功能,但一般地,微服务架构思想是推崇服务的拆分,Hystr原创 2021-01-09 22:25:17 · 203 阅读 · 0 评论 -
Failed to process import candidates for configuration class [com.wjm.springcloud.Application]; neste
Failed to process import candidates for configuration class [com.wjm.springcloud.Application]; nested exception is java.io.FileN这说明springboot 中版本冲突了例如<dependencies> <dependency> <groupId>org.springframework.boot<原创 2021-01-09 22:20:04 · 16902 阅读 · 0 评论 -
服务熔断Hystrix-6 (自定义Hystrix请求★★★★★)
自定义Hystrix 请求1.自定义Hystrix 请求的服务熔断1.1在服务消费者中创建一个 自定义Hystrix请求类1.2 在服务消费者中Controller 创建方法1.3 返回结果 抛出异常2.自定义Hystrix 请求同步和异步调用2.1 Hystrix 请求同步调用2.1 Hystrix 请求异步调用2.2 执行结果3.自定义Hystrix 请求同异常熔断处理3.1测试结果1.自定义Hystrix 请求的服务熔断1.1在服务消费者中创建一个 自定义Hystrix请求类package co原创 2021-01-09 16:13:49 · 204 阅读 · 0 评论 -
服务熔断Hystrix-5(Hystrix的异常处理)
Hystrix的异常处理1.服务降级1.1Throwable 捕获异常信息1.2模拟一个异常1.3测试结果 捕获异常1.3.1 本地异常捕获1.3.2远程服务异常 (第二个服务提供者中)2.把异常抛给用户(服务不降级)2.1错误信息 返回给用户3.自定义Hystrix 请求的服务熔断处理3.1 在服务消费者中创建一个 自定义Hystrix请求类3.2 在服务消费者中Controller 创建方法3.3 返回结果 抛出异常 我们在调用服务提供者时,我们自己也有可能会抛异常,I默认情况下方法抛了异常会自动进原创 2021-01-09 15:45:02 · 1155 阅读 · 1 评论 -
服务熔断Hystrix-4(Hystrix的服务降级是什么?)
Hystrix的服务降级是什么? 有了服务的熔断,随之就会有服务的降级,所谓服务降级,就是当某个服务熔断之后,服务端提供的服务将不再被调用,此时由客户端自己准备一个本地的fallback回调,返回一个默认值来代表服务端的返回; 这种做法,虽然不能得到正确的返回结果,但至少保证了服务的可用,比直接抛出错误或服务不可用要好很多,当然这需要根据具体的业务场景来选择;说白了,就是因为网络或者服务出现故障,不能出现正确结果,但是可以通过返回到自己定义的方法上,服务熔断,服务降级。...原创 2021-01-09 14:55:55 · 359 阅读 · 0 评论 -
服务熔断Hystrix-3(服务消费者Hystrix测试)
服务熔断Hystrix-3(服务消费者Hystrix测试)hystrix 默认超过时间是1000毫秒,如果你后端的响应时间超过此时间,就会触发断路器。测试环境 2个提供者 1个消费者 一个注册中心 1.修改hystrix 默认的超时时间: 3秒我这里修改的 @RequestMapping("/web/hystrix") //加入熔断器注解 对这个方法 // fallbackMethod 如果出现短路 就返回error方法 @HystrixCommand(fallbackMe原创 2021-01-09 14:50:35 · 241 阅读 · 0 评论 -
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to process import candidates
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to process import candidates for configuration class [com.wjm.springcloud.Application]; nested exception is java.io.FileNotFoundException: class path resource [org/springframework/boot/原创 2021-01-09 14:31:52 · 1277 阅读 · 0 评论 -
服务熔断Hystrix-2(Hystrix快速入门?)
服务熔断Hystrix-2(Hystrix快速入门?)1.添加依赖(向服务消费者中添加)<!--Spring CLoud熔断器起步依赖--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-hystrix</artifactId><version>1.4.4.RELEASE</ve原创 2021-01-09 14:06:20 · 126 阅读 · 0 评论 -
服务熔断Hystrix-1 (Hystrix是什么?)
服务熔断HystrixHystrix是什么? 在微服务架构中,我们是将一个单体应用拆分成多个服务单元,各个服务单元之间通过注册中心彼此发现和消费对方提供的服务,每个服务单元都是单独部署,在各自的服务进程中运行,服务之间通过远程调用实现信息交互I那么当某个服务的响应太慢或者故障,又或者因为网络波动或故障,则会造成调用者延迟或调用失败,当大量请求到达,则会造成请求的堆积,导致调用者的线程挂起,从而引发调用者也无法响应,调用者也发生故障。·或者没有响应,但是请求的人越来越多,(消费者)调用者会发原创 2021-01-08 19:03:31 · 151 阅读 · 0 评论 -
Ribbon中四个Rest请求模板
Ribbon中四个Rest请求模板1.RestTemplate的GET请求 (查询)第一种: getForEntitygetForEntity可以自定义 类型model1.另外两个重载方法2.重载方法第二种: getForObject()2.RestTemplate的POST请求 (添加)3.RestTemplate的PUT请求 (修改)4.RestTemplate的DELETE请求 (删除)1.RestTemplate的GET请求 (查询)Get请求可以有两种方式:第一种: getForEntit原创 2021-01-08 17:14:09 · 217 阅读 · 0 评论 -
Ribbon中 Rest请求模板类解读
Ribbon中 Rest请求模板类解读消费服务中 Config配置类中 //Ribbon的负载均衡 @LoadBalanced @LoadBalanced @Bean public RestTemplate restTemplate(){ return new RestTemplate(); } 当我们从服务消费端去调用服务提供者的服务的时候,使用了一个极其方便的对象叫 RestTemplate,当时我们只使用了 RestTemplate原创 2021-01-08 14:03:46 · 128 阅读 · 0 评论 -
使用Ribbon内的负载均衡策略时候,没有导入Ribbon中IRule接口的问题
使用Ribbon内的负载均衡策略时候,没有导入Ribbon中IRule接口的问题也就是 IRule接口,正常去使用需要pom坐标 <!-- eureka依赖 注册中心和登录 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netfl原创 2021-01-07 19:26:59 · 3309 阅读 · 1 评论 -
Ribbon负载均衡策略——重试负载均衡策略使用
Ribbon负载均衡策略——重试负载均衡策略使用RetryRule先按照轮转策略分发,如果不能访问,在指定时间内重试,分发其他可用服务。/** * 该类为Ribbon的配置类 * 注意:该类不能放在主应用程序上下文@ComponentScan所扫描的包中,否则配置将会被所有Ribbon Client共享。*/@Configurationpublic class RibbonConfiguration { @Bean public IRule ribbonRule() { //原创 2021-01-07 17:52:44 · 497 阅读 · 0 评论 -
Ribbon负载均衡策略——随机负载均衡策略使用
Ribbon负载均衡策略——随机负载均衡策略使用/** * 该类为Ribbon的配置类 * 注意:该类不能放在主应用程序上下文@ComponentScan所扫描的包中,否则配置将会被所有Ribbon Client共享。*/@Configurationpublic class RibbonConfiguration { @Bean public IRule ribbonRule() { // 负载均衡规则,改为随机 return new RandomRule(); }原创 2021-01-07 17:48:58 · 463 阅读 · 0 评论