
spring cloud
文章平均质量分 81
云川之下
这个作者很懒,什么都没留下…
展开
-
Nginx限流
文章目录1. 生活中限流对比2. nginx的限流2.1控制速率2.1.1 漏桶算法实现控制速率限流2.1.2 nginx的配置2.1.3 处理突发流量2.2 控制并发量(连接数)参考一般情况下,首页的并发量是比较大的,即使 有了多级缓存,当用户不停的刷新页面的时候,也是没有必要的,另外如果有恶意的请求 大量达到,也会对系统造成影响。而限流就是保护措施之一。1. 生活中限流对比水坝泄洪,通过闸口限制洪水流量(控制流量速度)。办理银行业务:所有人先领号,各窗口叫号处理。每个窗口处理速度根据客户具体业转载 2022-05-13 11:26:28 · 6715 阅读 · 2 评论 -
SkyWalking之告警
概述op: "<"表示小于指标 触发op: ">"表示大于指标时触发1. 示例1.1 在最近10分钟的3分钟内服务平均响应时间超过1000ms:侧重响应时间超时 service_resp_time_rule: metrics-name: service_resp_time op: ">" threshold: 1000 period: 10 count: 3 silence-period: 5 message: Resp原创 2022-04-07 15:45:53 · 2129 阅读 · 1 评论 -
【Skywalking】控制台页面没有数据
背景采用最简单的H2数据库存储,应该不会出现问题,但是访问资源url后,控制台总是没有数据显示解决打开页面右上角的自动刷新2. 清除缓存f12开启调试框,选中network ,选中disable cache,然后刷新页面...原创 2022-04-02 17:38:05 · 4494 阅读 · 0 评论 -
Spring Cloud Alibaba 版本对照表
Alibaba 内组件版本:Alibaba 与springboot、cloud版本:参考Spring Cloud Alibaba 版本对照表原创 2022-03-10 20:55:04 · 18242 阅读 · 2 评论 -
Sentinel源码
一、概述在SpringBoot启动过程中,会加载外部依赖中META-INF/spring.factories声明的类。其中最重要的两个类分别为SentinelWebAutoConfiguration和SentinelAutoConfiguration。下面针对这两个类进行分析,逐渐深入理解流量是如何被Sentinel拦截的。图1 spring.factories二、深入理解2.1 SentinelAutoConfigurationpackage com.alibaba.cloud.sentin原创 2022-03-09 22:55:02 · 979 阅读 · 0 评论 -
【Sentinel入门】05 springmvc 集成Sentinel & springboot集成Sentinel & 链路模式失效 & WebContextUnify & CommonFilter
文章目录前言webContextUnify属性alibaba集成sentinel下的webContextUnify系列文章:【Sentinel入门】01 最简单的例子 helloworld【Sentinel入门】02 @SentinelResource语法(blockHandler、fallback)【Sentinel入门】03 规则类型(BlockException、FlowException、ParamFlowException、DegradeException)【Sentinel入门】04原创 2022-03-09 13:51:46 · 2042 阅读 · 1 评论 -
Spring Boot是什么& 与SpringCloud的区别
一、关于Spring Boot在开始了解Spring Boot之前,我们需要先了解一下Spring,因为Spring Boot的诞生和Spring是息息相关的,Spring Boot是Spring发展到一定程度的一个产物,但并不是Spring的替代品,Spring Boot是为了让程序员更好的使用Spring。说到这里可能有些人会迷糊,那到底Spring和Spring Boot有着什么样的联系呢?1.Spring发展史在开始之前我们先了解一下Spring,Spring的前身是interface21,这转载 2022-03-08 14:29:32 · 358 阅读 · 0 评论 -
【Alibaba集成sentinel】全局异常处理类统一处理异常 WebCallbackManager.setUrlBlockHandler( ) & sentinel-web-servlet包
相关文章:springboot集成sentinel & sentinel-spring-webmvc-adapter概述在不同的架构下,引入不同的包,可以实现不同的全局异常处理和加载url资源,省去繁琐的配置每条url资源sentinel-spring-webmvc-adapter基于springcloud的项目中通过sentinel-spring-webmvc-adapter依赖,可以实现所有的springmvc定义的url自动作为sentinel的资源,并且支持全局异常处理类统一处理异原创 2022-03-07 20:25:02 · 1604 阅读 · 0 评论 -
【springboot集成sentinel】 sentinel-spring-webmvc-adapter
通过sentinel-spring-webmvc-adapter依赖,可以实现所有的springmvc定义的url自动作为sentinel的资源,并且支持全局异常处理类统一处理异常原创 2022-03-07 20:13:54 · 1526 阅读 · 0 评论 -
【Sentinel入门】04 springmvc 集成Sentinel & springboot集成Sentinel & 全局异常处理类统一处理异常(BlockExceptionHandler接口)
import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.stereotype.Component;import com.alibaba.csp.sentinel.adapter.spring.webmvc.callback.BlockExceptionHandler;import com.alibaba.csp.sen原创 2022-03-07 11:11:11 · 3915 阅读 · 1 评论 -
【Sentinel入门】03 规则类型与对应抛出异常(BlockException、FlowException、ParamFlowException、DegradeException)
文章目录规则类型blockHandler和blockHandlerClass相关文章:【Sentinel入门】02 @SentinelResource语法(blockHandler、fallback、BlockException 、FlowException)规则类型BlockException包含很多个子类,分别对应不同的场景: 异常 说明 FlowException 限流异常 ParamFlowException原创 2022-03-06 21:08:56 · 5201 阅读 · 0 评论 -
sentinel流控模式之链路类型
文章目录前言链路模式案例:流控模式-链路参考关联文章:sentinel流控模式之关联类型sentinel流控模式之链路类型前言需要注意sentinel流控模式中的关联类型和链路类型的区别:关联 ,假设A规则关联B,那么A资源是受限制的链路 ,假设A规则绑定了一个链路,关联B,那么受限制的是B链路模式链路模式:只针对从指定链路访问到本资源的请求做统计,判断是否超过阈值。例如有两条请求链路:/test1 /common/test2 /common如果只希望统计转载 2022-03-05 23:24:44 · 2759 阅读 · 4 评论 -
SpringBoot启动报错java.nio.charset.MalformedInputException: Input length = 1解决方案
现象异常信息:java.lang.IllegalStateException: Failed to load property source from 'file:/D:/IDEA/spring-cloud/sp05-eureka/target/classes/application.yml' (classpath:/application.yml) Caused by: org.yaml.snakeyaml.error.YAMLException: java.nio.charset.Malform原创 2022-02-19 20:10:23 · 2728 阅读 · 0 评论 -
springboot 排除内嵌的tomcat方法
前言SpringBoot默认使用嵌入式的Servlet容器,应用打包成可执行的jar包优点:简单、便携缺点:默认不支持jsp,优化定制比较复杂(使用定制器serverProperties、自定义EmbeddedServletContainerCustomizer,自己编写嵌入式Servlet容器的创建工厂EmbeddedServletContainerFactory)鉴于上面的优缺点,如果我们想使用定制功能,使用外部的tomcat,所以需要有去掉内置的tomcat,SpringBoot使用外置原创 2022-02-09 13:42:14 · 7284 阅读 · 0 评论 -
Springboot中的context-path (url前缀)
文章目录作用注意项以及采坑注意项踩坑参考1.定义 Context path of the application. 应用的上下文路径,也可以称为项目路径,是构成url地址的一部分。2.如何配置 SpringBoot 2.0.0.RELEASE版本以及之后:server: servlet: context-path: /myapp1SpringBoot 2.0.0.RELEASE版本以及之前server: context-path: /myapp1作用假设我的应用有个转载 2022-01-08 11:35:35 · 32885 阅读 · 0 评论 -
Dubbo 与 Feign 的区别
文章目录一、相同点二、区别三 总结参考一、相同点Dubbo 与 Feign 都依赖注册中心、负载均衡,作用是提供远程接口调用。常见的 实现远程调用的方式: Http接口(web接口、RestTemplate+Okhttp)、Feign、RPC调用(Dubbo、Socket编程)、Webservice。。二、区别Dubbo除了注册中心需要进行整合,其它功能都自己实现了,而Feign大部分功能都是依赖全家桶的组件来实现的。1、协议Dubbo:支持多传输协议(Dubbo、Rmi、http、re原创 2021-11-30 19:45:24 · 16724 阅读 · 1 评论 -
spring Security OAuth2 报错 Redirect URI mismatch(curl 需要encode转换)
postman 获取 token 时报错:{"error":"invalid_grant","error_description":"Redirect URI mismatch."}检查后,需要在参数中加入 redirect_uri 后正常:注意:不需要进行url encode转换;如果是通过curl命令进行访问,需要对该字段进行 url encode转换参考Security OAuth2 报错 Redirect URI mismatch...原创 2021-11-02 15:12:38 · 1999 阅读 · 0 评论 -
【spring security oauth2】入门例子(helloworld ) 1- 基础版
概述Spring Security是一个用于快速实现Web应用安全、认证的框架,可以快速和Spring Boot整合。开发者可以编写配置类继承WebSecurityConfigurerAdapter类,重写config方法自定义登录页面、登录失败逻辑、权限不足逻辑等,并且可以编写Filter实现更加复杂的图片验证码、短信验证码功能。Spring Security也可以快速实现OAuth2.0授权服务器和资源服务器。在一个Spring Boot应用中,可以使用@EnableAuthorizationSe转载 2021-11-01 15:22:53 · 731 阅读 · 0 评论 -
【spring security oauth2】JSON Web Token(JWT)作用
文章目录什么是JWTJWT适用场景与不适用场景参考什么是JWT终于来到了著名的JWT部分了,JWT全称为Json Web Token,最近随着微服务架构的流行而越来越火,号称新一代的认证技术。今天我们就来看一下,jwt的本质到底是什么。我们先来看一下OAuth2的token技术有没有什么痛点,相信从之前的介绍中你也发现了,token技术最大的问题是不携带用户信息,且资源服务器无法进行本地验证,每次对于资源的访问,资源服务器都需要向认证服务器发起请求,一是验证token的有效性,二是获取token对应的原创 2021-11-01 10:09:36 · 335 阅读 · 0 评论 -
【spring security oauth2】配置类AuthorizationServerConfigurerAdapter(JwtAccessTokenConverter)
文章目录1. AuthorizationServerConfigurerAdapter2. ClientDetailsServiceConfigurer1.1 JdbcClientDetailsService类1.2 InMemoryClientDetailsService类3. AuthorizationServerEndpointsConfigurer端点配置3.1 配置令牌 管理 (jwtAccessTokenConverter)3.2 AuthenticationManager3.2.1 UserD原创 2021-10-31 21:00:40 · 5225 阅读 · 0 评论 -
【Gateway】微服务网关组件 - Spring Cloud Gateway之LoadBalancerClientFilter原理
文章目录概述参考概述LoadBalancerClientFilter是一个全局过滤器,系统自动注入,LoadBalancerClientFilter 根据 lb:// 前缀过滤处理,使用 serviceId 选择一个服务实例,从而实现负载均衡。1: public class LoadBalancerClientFilter implements GlobalFilter, Ordered { 2: 3: private static final Log log = LogFactory.get原创 2021-10-27 15:52:01 · 2269 阅读 · 0 评论 -
sentinel流控模式之关联类型
文章目录1. 概念2. 示例代码2.1 测试2.1.1 为了能够模拟出效果,使用postman模拟2.1.2 开启测试----访问录制的gif参考1. 概念当两个资源之间具有资源争抢或者依赖关系的时候,这两个资源便具有了关联。比如对数据库同一个字段的读操作和写操作存在争抢,读的速度过高会影响写得速度,写的速度过高会影响读的速度。如果放任读写操作争抢资源,则争抢本身带来的开销会降低整体的吞吐量。可使用关联限流来避免具有关联关系的资源之间过度的争抢,举例来说,read_db 和 write_db 这两个资转载 2021-09-21 14:18:51 · 1099 阅读 · 0 评论 -
spring.main.allow-bean-definition-overriding(allowBeanDefinitionOverriding)
spring.main.allow-bean-definition-overriding设置为true,表示后发现的bean会覆盖之前相同名称的bean到底allowBeanDefinitionOverriding应该设置true还是false?上面代码中可以看到,spring中默认是true,也就是默认支持名称相同的bean的覆盖。而springboot中的默认值是false,也就是不支持名称相同的bean被覆盖。那么我们自己应该如何选择呢?这里笔者认为默认不覆盖比较好。因为还是推荐一个系统中不转载 2021-09-18 21:39:21 · 10657 阅读 · 0 评论 -
【Gateway】微服务网关组件 - Spring Cloud Gateway
文章目录1. 为什么要有服务网关?2. Spring Cloud Gateway简介3. 核心概念3.1 Route(路由)3.2. Predicate(谓词)3.3. Filter(过滤器)4. Spring Cloud Gateway架构图5. 创建Spring Cloud Gateway项目5.1 默认路由5.2 自定义转发路由6. 路由配置的两种形式6.1 路由到指定的URL6.2 路由到指定的微服务7. 路由谓词工厂7.1 内置的路由谓词工厂7.2 自定义路由谓词工厂8. 过滤器工厂8.1 内置的转载 2021-09-17 15:02:24 · 605 阅读 · 0 评论 -
【Gateway】springCloud微服务组件:Gateway(网关)
文章目录1. 基本配置2. 静态路由3. 动态路由参考1. 基本配置1.导包<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId></dependency><dependency> <groupId>com.ali原创 2021-09-17 11:00:37 · 387 阅读 · 0 评论 -
【微服务sentinel】 控制台 dashboard 安装部署
sentinel-dashboard官网下载地址启动 Sentinel 控制台需要 JDK 版本为 1.8 及以上版本。java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard.jar访问:http://127.0.0.1:8080/其中 -Dserver.port=8080 用于指定 Senti原创 2021-09-09 11:55:56 · 2478 阅读 · 0 评论 -
【spring cloud 】Ribbon和OpenFeign(代替RestTemplate)
文章目录参考Ribbon和OpenFeign我个人是两个东西Ribbon侧重于做服务调用时的负载均衡而OpenFeign侧重于面向接口进行服务调用,即rpc框架,类似的还有dubbo。RestTemplate是http调用客户端,缺点是面向url,而非接口,没有rpc框架好用。在只引入Ribbon依赖的时候,可以使用restTemplate来进行服务调用,大概流程如下:这是没有OpenFeign的情况下的一个执行流程。引入openFeign情况下的执行流程:OpenFeign相比Ri原创 2021-09-02 15:21:32 · 1384 阅读 · 1 评论 -
【spring cloud hoxton】Ribbon 真的能被 spring-cloud-loadbalancer 替代吗(负载均衡)
文章目录1. 背景spring-cloud-loadbalancer 的渊源2. spring-cloud-loadbalancer 如何使用3. 源码解析loadBalancer 负载均衡策略实现:4. 和ribbon 比较默认负载均衡比较配置方面丰富性5. 结论参考1. 背景Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现。通过Spring Cloud的封装,可以让我们轻松地将面向服务的REST模版请求自动转换成客户端负载均转载 2021-09-02 11:33:50 · 1644 阅读 · 1 评论 -
maven 之 Spring Cloud Starter Alibaba Nacos Discovery
注意:有2个groupId,一个是org.springframework.cloud,一个是org.springframework.cloud<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-alibaba-nacos-discovery --><dependency> <groupId>org.springframework.clou原创 2021-09-01 21:50:49 · 5063 阅读 · 0 评论 -
RestTemplate与Ribbon整合原理(基于spring-cloud-starter-alibaba-nacos-discovery、LoadBalancerClient负载均衡接口)
文章目录1. RestTemplate2. 用法2.1 注册RestTemplate的Bean2.2 @LoadBalanced语法3. 负载均衡策略1. RestTemplateRestTemplate是Spring Web模块提供的一个基于Rest规范提供Http请求的工具。Ribbon是springcloud中客户端负载均衡的组件。也可以使用其他的负载均衡策略组件,类似Eurka。我们在微服务架构中,往往通过RestTemplate发送RPC请求,然后通过Ribbon做客户端负载均原创 2021-08-31 20:27:27 · 1274 阅读 · 0 评论 -
【SpringCloud】springcloud中RestTemplate三种使用方式(LoadBalancerClient、负载均衡、Nacos、Ribbon )
参考SpringCloud学习笔记(三)–springcloud中RestTemplate三种使用方式Spring Cloud 进阶之路 – 使用 RestTemplate 的三种方式及源码查看Ribbon负载均衡配置策略使用DiscoverClien和、LoadBalancerClient配合RestTemplate完成微服务调用的步骤...原创 2021-08-31 20:12:10 · 3786 阅读 · 0 评论 -
Nacos Spring Cloud 快速开始(配置中心+注册中心示例)
文章目录1. 前言2. Nacos Spring Cloud 快速开始2.1 前提条件2.2 启动配置管理2.1.1 测试2.2 启动服务发现2.2.1 测试1. 前言Nacos有很多语法,结合不同的技术,有不同的语法:本篇是讲述Nacos Spring Cloud 的用法。2. Nacos Spring Cloud 快速开始2.1 前提条件您需要先下载 Nacos 并启动 Nacos server。2.2 启动配置管理配置管理就是管理参数,放在公共配置中心,具体的业务可以访问这个配置中心原创 2021-08-31 15:12:29 · 754 阅读 · 0 评论 -
Nacos Spring Boot 快速开始
文章目录1. 前言2. Nacos Spring Boot 快速开始2.1 前提条件2.2 启动配置管理2.2.1 测试2.3 启动服务发现参考1. 前言Nacos有很多语法,结合不同的技术,有不同的语法:本篇是讲述Nacos Spring Boot的用法。2. Nacos Spring Boot 快速开始本文主要面向 Spring Boot 的使用者,通过两个示例来介绍如何使用 Nacos 来实现分布式环境下的配置管理和服务发现。关于 Nacos Spring Boot 的详细文档请参看:n原创 2021-08-30 20:41:14 · 1643 阅读 · 1 评论 -
nacos、ribbon和feign(openfeign)的简明教程
文章目录1. nacos简明教程1.1 为什么需要nacos?1.2 如何使用Nacos1.2.1 Nacos server的启动1.2.2 在微服务中使用Nacos做服务注册和发现1.2.3 服务的调用2. 负载均衡的问题2.1 使用Feign参考1. nacos简明教程1.1 为什么需要nacos?在微服务架构中,微服务之间经常要相互通信和调用,而且一个服务往往存在多个实例来降低负荷或保证高可用。我们假定A服务要调用B服务,最简单的方式把B服务的地址和端口保存在A服务的配置文件中。然后通过http转载 2021-08-30 17:00:34 · 1877 阅读 · 0 评论