SpringCloud
凡我出品,皆属精品
这个作者很懒,什么都没留下…
展开
-
#SpringCloudConfig中的安全保护 @FDDLC
先修课:#SpringCloudConfig:在微服务中访问ConfigServer #Config原理 @FDDLC本文简单讲述SpringCloudConfig中的安全保护。1、在配置中心ConfigServer中添加依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spri..原创 2020-11-15 22:43:52 · 79 阅读 · 0 评论 -
#SpringCloudConfig:在微服务中访问ConfigServer #Config原理 @FDDLC
先修课:#SpringCloudConfig:配置服务中心的搭建 #简单的git命令 @FDDLC1、新建一个模块:2、添加pom依赖: <parent> <artifactId>spring-boot-starter-parent</artifactId> <groupId>org.springframework.boot</groupId> <versio..原创 2020-11-15 22:30:54 · 166 阅读 · 0 评论 -
#SpringCloudConfig:配置服务中心的搭建 #简单的git命令 @FDDLC
一、SpringCloudConfig是啥?如果一个由多个子项目组成的分页式系统中,配置文件的总数是一个不小的数目。如何对这些配置文件进行统一管理,就引出了所谓的分布式配置中心的概念。分布式配置中心有很多,比如360的QConf,淘宝的diamond,等等。当然,本文的主角,SpringCloudConfig,必须得是啦。二、SpringCloudConf环境搭建1、新建一个SpringBoot项目:2、pom.xml <parent> ..原创 2020-11-15 22:01:08 · 189 阅读 · 0 评论 -
#Zuul:自定义全局错误页面 @FDDLC
先修课:#Zuul:简单的异常处理 @FDDLC1、不能设置:zuul.SendErrorFilter.error.disable=true也不能有自定义的ErrorFilter。2、异常代码:@Componentpublic class MyZuulFilter extends ZuulFilter { @Override public String filterType() { //pre表示在过滤前执行 return..原创 2020-11-15 19:51:52 · 238 阅读 · 0 评论 -
#Zuul:简单的异常处理 @FDDLC
Zuul中有pre、route、post和error等过滤器。无论pre、route或post中哪个发生异常,error过滤器都会被触发。Zuul中有默认的error过滤器:异常代码:@Componentpublic class MyZuulFilter extends ZuulFilter { @Override public String filterType() { //pre表示在过滤前执行 return "pre"; //f.原创 2020-11-15 19:32:45 · 321 阅读 · 0 评论 -
#SpringCloud Zuul:路由规则和通配符 @FDDLC
1、通过path和service-id这对搭档来指定路由规则:zuul.routes.zuul-provider.path=/zuul-provider/**zuul.routes.zuul-provider.service-id=provider说明:a、zuul-provider是规则名,自定义,用于标识一条路由规则。b、service-id=provider,这里的provider是目标服务的名字。c、假设有一个请求:http://localhost:8080/zuul-pro原创 2020-11-15 16:27:35 · 527 阅读 · 0 评论 -
SpringCloud Zuul:对请求进行过滤 @FDDLC
先修课:#SpringCloud API网关:Zuul @FDDLCZuul可以对请求进行过滤,步骤如下:1、定义一个类,继承ZuulFilter:package cn.zuul;import com.netflix.zuul.ZuulFilter;import com.netflix.zuul.context.RequestContext;import com.netflix.zuul.exception.ZuulException;import org.springf..原创 2020-11-15 15:07:55 · 245 阅读 · 0 评论 -
#SpringCloud API网关:Zuul @FDDLC
一、概述Zuul,微服务中的API网关工具。何为API网关?想要调用某一个服务,先调用该网关,网关中配置了路由规则,再由网关路由到目标服务。二、Zuul入门1、创建一个zuul模块,添加如下依赖: <parent> <artifactId>spring-boot-starter-parent</artifactId> <groupId>org.springframework.boot</g.原创 2020-11-15 14:10:55 · 105 阅读 · 0 评论 -
#SpringCloud:Feign #Restful @FDDLC
一、概述Feign:REST风格的声明式服务消费工具。声明式是指Feign在使用时要定义接口和方法,接口中的方法只需声明,无需实现,就能使用。服务消费是指Feign可以调用远程服务,且调用中可实现负载均衡。REST是一种编程风格,也叫Restful,是指在开发Web应用时,只使用请求路径中的占位符或者请求方法就能唯一匹配一个Controller。实际上,Feign是对Ribbon和Hystrix的一个整合,在功能上可以认为:Feign=Ribbon+Hystrix。二、Feign入门1.原创 2020-11-15 13:01:07 · 152 阅读 · 0 评论 -
#Hystrix Dashboard:仪表盘 @FDDLC
引言、HystrixDashboard简介HystrixDashboard,即Hystrix仪表盘,是微服务中的一个监控工具。如何搭建一个Dashboard?一、添加Maven依赖: <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-...原创 2020-11-14 22:53:19 · 93 阅读 · 0 评论 -
#Hystrix:HystrixCommand #异步调用、异常处理 @FDDLC
先修课:#Hystrix:服务熔断、服务降级 #自定义熔断: @FDDLC一、自定义HystrixCommand中的异常处理1、provider: @RequestMapping("/hystrix") public String hystrix() throws Exception{ //Thread.sleep(10000); int i=1/0; return "I'm from the provider. If you.原创 2020-11-14 20:15:08 · 891 阅读 · 0 评论 -
#Hystrix:服务熔断、服务降级 #自定义熔断: @FDDLC
先修课:#熔断器、断路器:Hystrix EnableDiscoveryClient EnableCircuitBreaker SpringCloudApplication @FDDLC一、概念1、服务熔断假设A服务调用B服务,当B服务出现问题时,A服务也能兼容应对,就叫服务熔断。2、服务降级出现服务熔断时,A服务调用一个回退方法响应给用户,就叫服务降级。二、超时熔断Hystrix默认超时时间是1000毫秒。如果超时未响应,则触发熔断。下面奉上一个超时...原创 2020-11-14 17:14:26 · 529 阅读 · 2 评论 -
#熔断器、断路器:Hystrix EnableDiscoveryClient EnableCircuitBreaker SpringCloudApplication @FDDLC
一、引言在一个微服务系统中,假设【用户服务】调用【订单服务】,【订单服务】调用【库存服务】。如果库存服务不可用,那么:因为得不到库存服务的响应,订单服务中就会有多个线程一直在等待。时间一长,订单服务就会瘫痪。因为得不到订单服务的响应,用户服务中就会有多个线程一直在等待。时间一长,用户服务就会瘫痪。从上面的情景假设中可以看出,如果没有好的应对措施,一旦某个服务出现问题,很可能导致整个系统瘫痪!针对这个问题,就有了熔断器的概念。下面介绍如何使用Hystrix熔断器。二、如何.原创 2020-11-14 16:32:39 · 240 阅读 · 0 评论 -
#RestTemplate @FDDLC
1、public <T> ResponseEntity<T> getForEntity(String url, Class<T> responseType, Object... uriVariables)1)、provider:2)、consumer:@RestControllerpublic class ConsumerController { @Autowired private RestTemplate restTemplate;原创 2020-11-14 15:05:42 · 152 阅读 · 0 评论 -
#Ribbon指定负载均衡策略 @FDDLC
1、使用Ribbon默认的轮询负载均衡策略:效果动图:2、指定其他负载均衡策略:以随机策略为例效果动图:3、各种负载均衡策略概览:原创 2020-11-14 10:30:44 · 209 阅读 · 0 评论 -
#Ribbon:客户端负载均衡 @FDDLC
一、负载均衡是什么负载均衡是指:依据某种策略,把客户端请求分摊给集群中的不同节点。二、负载均衡分类1、硬件负载均衡、软件负载均衡硬件负载均衡:F5、深信服等。大概长这样:软件负载均衡:Nginx、HAProxy、Ribbon等。2、服务器负载均衡、客户端负载均衡服务端负载均衡:Nginx等客户端负载均衡:Ribbon等。三、RibbonSpringCloud对Ribbon进行了二次封装,在使用时甚至感知不到Ribbon的存在。RestTemp...原创 2020-11-13 21:10:45 · 172 阅读 · 0 评论 -
#Eureka的自我保护机制 @FDDLC
一、Eureka的自我保护机制是什么?在规定时间内,某个服务没有向注册中心发送自己的正常信息,对此,注册中心不把该服务从注册清单中移除,这就叫Eureka的自我保护机制。Eureka的自我保护机制保护的是谁?保护的是服务。二、开启与关闭Eureka的自我保护机制Eureka自我保护机制默认是开启的,如果想关闭,在eureka-server的配置文件中添加:eureka.server.enable-self-preservation=falseeureka-server中..原创 2020-11-13 19:30:31 · 91 阅读 · 0 评论 -
#Eureka注册中心高可用集群搭建 #SpringBoot多配置文件 @FDDLC
一、引言我们知道,很多东西都最好有个备份,比如一把锁的钥匙往往就有多个。Eureka注册中心也往往不止一个,而是一个集群。二、Eureka注册中心集群的搭建1、新建一个SpringBoot项目当作Eureka注册中心。2、准备两个SpringBoot配置文件:application-eureka8761.properties:eureka.instance.hostname=eureka8761server.port=8761eureka.client.re..原创 2020-11-13 16:38:22 · 234 阅读 · 0 评论 -
#SpringCloud入门:使用Eureka和Ribbon #FDDLC
先修课:#SpringCloud入门:不使用注册中心 @FDDLC一、概念介绍1、SpringCloud是什么?SpringCloud是一套微服务解决方案。2、Eureka是什么?Eureka是一个服务注册与发现工具。3、Ribbon是什么?Ribbon是一个负载均衡工具。二、入门思路1、创建一个空项目,后续的模块都放在这个空项目中;2、创建一个eureka模块,作为注册中心;3、创建一个provider模块,作为服务提供者;4、创建一个consu..原创 2020-11-13 12:55:08 · 98 阅读 · 0 评论 -
#SpringCloud入门:不使用注册中心 @FDDLC
一、总体思路1、先创建一个空项目,再在这个空项目下创建两个SpringBoot模块。2、provider模块提供服务。3、consumer接收服务。4、项目、模块结构:二、provider模块1、模块结构2、pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=..原创 2020-11-12 21:21:44 · 1409 阅读 · 4 评论