![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SpringCloud
小脑斧学技术
分享java相关技术
展开
-
SpringCloud Alibaba 整合Gateway网关
Spring Cloud 提供了一个在Spring WebFlux之上构建API网关的组件。 Spring Cloud Gateway 提供一种简单而有效的方式来路由到API,并为它们提供横切关注点,如:安全性、监控/指标和弹性。添加Maven依赖<!-- Springcloud Gateway 依赖 --><dependency> <groupId>org.springframework.cloud</groupId> <arti原创 2022-03-22 14:11:57 · 440 阅读 · 0 评论 -
SpringCloud Gateway自定义断言工厂
当官方提供的所有断言工厂无法满足业务需求时,还可以自定义断言工厂。添加自定义断言工厂类自定断言工厂主要注意一下几点:需要声明是Springboot的Bean,添加注解@Component,名称必须以RoutePredicateFactory结尾,这个是命名约束。如果不按照命名约束来命名,那么就会找不到该断言工厂。前缀就是配置中配置的断言。可以直接复制Gateway中已经实现的断言工厂,修改对应的内容,避免踩坑。继承父类AbstractRoutePredicateFactory,并重写方法。需原创 2022-03-22 15:06:43 · 811 阅读 · 0 评论 -
Gateway整合Sentinel熔断降级
添加Maven依赖在以前的版本中整合 Sentinel 需要手动配置。新版本中添加 spring-cloud-alibaba-sentinel-gateway 依赖就可以了,内部帮我们配置好了。可以参考: SentinelSCGAutoConfiguration<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-sentinel原创 2022-03-22 14:48:55 · 1820 阅读 · 0 评论 -
SpringCloud Gateway自定义全局过滤器
项目需要处理网络请求异常 404 等异常,可以通过自定义全局过滤器来处理响应结果。还可以对相应结果进行二次封装,修改内容响应最新修改过的内容。自定义全局过滤器:实现 GlobalFilter 接口实现 Ordered 接口,可以自定义过滤器顺序添加自定义全局过滤器类import com.alibaba.fastjson.JSON;import com.google.common.base.Joiner;import com.google.common.base.Throwables;im原创 2022-03-22 15:13:59 · 945 阅读 · 0 评论 -
SpringCloud Gateway自定义路由过滤器
当官方提供的过滤器不能满足业务需求,可以自定义路由过滤器。添加自定过滤器类自定义过滤器工厂需要注意以下几点:需要声明是Springboot的Bean,添加注解@Component,名称必须以GatewayFilterFactory结尾,这个是命名约束。如果不按照命名约束来命名,那么就会找不到该过滤器工厂。前缀就是配置中配置的断言。可以直接复制Gateway中已经实现的过滤器工厂,修改对应的内容,避免踩坑。继承父类AbstractGatewayFilterFactory,并重写方法。需要定义一原创 2022-03-22 15:09:54 · 1324 阅读 · 0 评论 -
SkyWalking学习笔记
SkyWalking是什么SkyWalking 是一个开源可观测平台,用于收集、分析、聚合和可视化来自服务和云原生基础设施的数据。SkyWalking 提供了一种简单的方法来保持分布式系统的清晰视图,甚至跨云。它是一种现代 APM,专为云原生、基于容器的分布式系统而设计。为什么要用SkyWalkingSkyWalking 为在许多不同场景中观察和监控分布式系统提供解决方案。首先,与传统方法一样,SkyWalking 为 Java、C#、Node.js、Go、PHP 和 Nginx LUA 等服务提供自原创 2022-03-17 12:30:51 · 2299 阅读 · 0 评论 -
SpringCloud Gateway 全局异常处理
在全局过滤器中可以处理网络异常请求,但是当设置Gateway请求超时时间,超时后的异常全局过滤器中处理不了。定义CustomWebExceptionHandler类import com.alibaba.csp.sentinel.slots.block.BlockException;import com.tigerkin.util.ApiResult;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springfr原创 2022-03-22 16:20:43 · 5707 阅读 · 9 评论 -
使用Feign完成服务调用
添加Maven依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId></dependency><dependency> <groupId>org.springframework.cloud</group原创 2022-03-13 14:44:37 · 1131 阅读 · 0 评论 -
使用RestTemplate完成服务调用
配置Bean@Configurationpublic class RestTemplateConfig{ @Bean @LoadBalanced public RestTemplate restTemplate() { return new RestTemplate(); }}服务调用@RestControllerpublic class RestTemplateController { @Autowired RestTemplate restTempl原创 2022-03-13 14:26:12 · 669 阅读 · 0 评论