![](https://img-blog.csdnimg.cn/0102ba7b952c4a1d801c3fe31db84ede.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
SpringCloud
文章平均质量分 81
SpringCloud
yololee_
半山腰永远是最挤的
展开
-
SpringCloud:Gateway之鉴权
一、JWT 实现微服务鉴权JWT一般用于实现单点登录。单点登录:如腾讯下的游戏有很多,包括lol,飞车等,在qq游戏对战平台上登录一次,然后这些不同的平台都可以直接登陆进去了,这就是单点登录的使用场景。JWT就是实现单点登录的一种技术,其他的还有oath2等。1 什么是微服务鉴权我们之前已经搭建过了网关,使用网关在网关系统中比较适合进行权限校验。那么我们可以采用JWT的方式来实现鉴权校验。2.代码实现思路分析1. 用户进入网关开始登陆,网关过滤器进行判断,如果是登录,则路由到后台管理微服务原创 2021-11-03 17:47:27 · 21672 阅读 · 0 评论 -
SpringCloud:Gateway之StripPrefix使用
StripPrefix 过滤配置很多时候也会有这么一种请求,用户请求路径是/api/goods,而真实路径是/goods,这时候我们需要去掉/api才是真实路径,此时可以使用StripPrefix功能来实现路径的过滤操作,如下配置:server: port: 80spring: application: name: nacos-gateway cloud: nacos: discovery: server-addr: 127.0.0.1:8848原创 2021-11-03 14:37:32 · 12359 阅读 · 0 评论 -
SpringCloud:Gateway之限流
SpringCloud:Gateway之限流我们之前说过,网关可以做很多的事情,比如,限流,当我们的系统 被频繁的请求的时候,就有可能 将系统压垮,所以 为了解决这个问题,需要在每一个微服务中做限流操作,但是如果有了网关,那么就可以在网关系统做限流,因为所有的请求都需要先通过网关系统才能路由到微服务中1 思路分析2 令牌桶算法令牌桶算法是比较常见的限流算法之一,大概描述如下:所有的请求在处理之前都需要拿到一个可用的令牌才会被处理;根据限流大小,设置按照一定的速率往桶里添加令牌;桶设置最大的原创 2021-11-03 13:56:20 · 983 阅读 · 0 评论 -
安装Sentinel
安装Sentinel一、jar运行1.下载https://github.com/alibaba/Sentinel/releases/tag/1.7.02.安装# 1.上传服务器# 2.启动 java -jar sentinel-dashboard-1.7.0.jar# 3.访问端口8080 http://192.168.31.100:8080# 4.账号密码 sentinel sentinel二、docker运行1.拉取镜像docker pull bladex/senti原创 2021-10-26 16:40:53 · 389 阅读 · 0 评论 -
SpringCloudAlibaba:Sentinel-熔断和fegin调用
SpringCloudAlibaba:Sentinel-熔断和fegin调用一、环境准备父模块依赖<properties> <java.version>1.8</java.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding&原创 2021-10-29 14:56:04 · 236 阅读 · 0 评论 -
SpringCloudAlibaba:@SentinelResource
SpringCloudAlibaba:@SentinelResource一、按资源名称添加流控规则1.新建controller@RestControllerpublic class SentinelResourceController { @GetMapping("/resource") @SentinelResource(value = "resource",blockHandler = "handleException") public String resource()原创 2021-10-29 10:32:44 · 112 阅读 · 0 评论 -
SpringCloudAlibaba:Sentinel热点规则
SpringCloudAlibaba:Sentinel热点规则一、介绍何为热点?热点即经常访问的数据。很多时候我们希望统计某个热点数据中访问频次最高的 Top K 数据,并对其访问进行限制。比如:商品 ID 为参数,统计一段时间内最常购买的商品 ID 并进行限制用户 ID 为参数,针对一段时间内频繁访问的用户 ID 进行限制热点参数限流会统计传入参数中的热点参数,并根据配置的限流阈值与模式,对包含热点参数的资源调用进行限流。热点参数限流可以看做是一种特殊的流量控制,仅对包含热点参数的资源调用生原创 2021-10-29 10:05:03 · 138 阅读 · 0 评论 -
SpringCloudAlibaba:Sentinel使用nacos进行持久化
SpringCloudAlibaba:Sentinel使用nacos进行持久化一、Sentinel持久化介绍Sentinel自身就支持了多种不同的数据源来持久化规则配置,目前包括以下几种方式:文件配置Nacos配置ZooKeeper配置Apollo配置这里我们整合的配置中心Nacos存储限流规则。二、准备工作下面我们将同时使用到Nacos和Sentinel Dashboard,所以可以先把Nacos和Sentinel Dashboard启动起来。默认配置下启动后,它们的访问地址(后续原创 2021-10-28 17:12:59 · 2305 阅读 · 0 评论 -
SpringCloudAlibab:Sentinel限流-降级
SpringCloudAlibab:Sentinel限流-降级一、Sentinel 简介随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性Sentinel 具有以下特征:丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等完备的实时监控:Sentinel 同时原创 2021-10-28 11:49:15 · 192 阅读 · 0 评论 -
SpringCloudAlibaba:Nacos的集群部署
SpringCloudAlibaba:Nacos的集群部署根据官方文档的介绍,Nacos的集群架构大致如下图所示(省略了集中化存储信息的MySQL):集群搭建1.环境准备192.168.31.100:80 jdk1.8 mysql nginx192.168.31.100:8848 jdk1.8 nacos192.168.31.100:8849 jdk1.8 nacos192.168.31.100:8850 jdk1.8 nacos注意:这里的例子仅用于本地学习测试使用,实际生产原创 2021-10-26 15:34:32 · 1555 阅读 · 0 评论 -
SpringCloudAlibaba:Nacos的数据持久化
SpringCloudAlibaba:Nacos的数据持久化一、数据持久化在之前的教程中,我们对于Nacos服务端自身并没有做过什么特殊的配置,一切均以默认的单机模式运行,完成了上述所有功能的学习。但是,Nacos的单机运行模式仅适用于学习与测试环境,对于有高可用要求的生产环境显然是不合适的。那么,我们是否可以直接启动多个单机模式的Nacos,然后客户端指定多个Nacos节点就可以实现高可用吗?答案是否定的。在搭建Nacos集群之前,我们需要先修改Nacos的数据持久化配置为MySQL存储。默认情况下原创 2021-10-26 10:41:26 · 238 阅读 · 0 评论 -
SpringCloudAlibaba:Nacos配置的多文件加载与共享配置
SpringCloudAlibaba:Nacos配置的多文件加载与共享配置一、加载多个配置我们已经知道Spring应用对Nacos中配置内容的对应关系是通过下面三个参数控制的:spring.cloud.nacos.config.prefixspring.cloud.nacos.config.file-extensionspring.cloud.nacos.config.group默认情况下,会加载Data ID=${spring.application.name}.properties,Gr原创 2021-10-25 16:35:16 · 4174 阅读 · 1 评论 -
SpringCloudAlibaba:nacos的多环境配置
SpringCloudAlibaba:nacos的多环境配置1.使用Data ID与profiles实现Data ID在Nacos中,我们可以理解为就是一个Spring Cloud应用的配置文件名。我们知道默认情况下Data ID的名称格式是这样的:${spring.application.name}.properties,即:以Spring Cloud应用命名的properties文件。实际上,Data ID的规则中,还包含了环境逻辑,这一点与Spring Cloud Config的设计类似。我们在原创 2021-10-25 15:17:43 · 737 阅读 · 0 评论 -
SpringCloudAlibaba:nacos配置的加载规则详解
SpringCloudAlibaba:nacos配置的加载规则详解加载规则在 Nacos Spring Cloud 中,dataId 的完整格式如下:${prefix}-${spring.profile.active}.${file-extension}prefix 默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置。spring.profile.active 即为当前环境对应的 profile,原创 2021-10-25 14:48:22 · 469 阅读 · 0 评论 -
SpringCloudAlibaba:nacos作为配置中心
SpringCloudAlibaba:nacos配置中心简介一、配置中心简介1.简介Nacos 提供用于存储配置和其他元数据的 key/value 存储,为分布式系统中的外部化配置提供服务器端和客户端支持。使用 Spring Cloud Alibaba Nacos Config,您可以在 Nacos Server 集中管理你 Spring Cloud 应用的外部属性配置。Spring Cloud Alibaba Nacos Config 是 Config Server 和 Client 的替代方案,原创 2021-10-25 11:51:57 · 441 阅读 · 1 评论 -
SpringCloudAlibaba:nacos实现服务注册和发现
SpringCloudAlibaba:nacos入门一、nacos安装docker安装单节点nacos二、nacos入门1.父工程1.pom文件 <properties> <java.version>1.8</java.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <proje原创 2021-10-25 11:48:56 · 207 阅读 · 0 评论 -
SpringCloud:Gateway组件
SpringCloud:Gateway组件一、简介1.网关定义网关的角色是作为一个 API 架构,用来保护、增强和控制对于 API 服务的访问。API 网关是一个处于应用程序或服务(提供 REST API 接口服务)之前的系统,用来管理授权、访问控制和流量限制等,这样 REST API 接口服务就被 API 网关保护起来,对所有的调用者透明。因此,隐藏在 API 网关后面的业务系统就可以专注于创建和管理服务,而不用去处理这些策略性的基础设施2.Gateway是什么Spring Cloud Gat原创 2021-10-22 14:24:59 · 427 阅读 · 0 评论 -
SpringCloud:Hystrix组件实现服务熔断
SpringCloud:Hystrix组件实现服务熔断一、Hystrix概述Hystix 是 Netflix 开源的一个延迟和容错库,用于隔离访问远程服务、第三方库,防止出现级联失败(雪崩)Hystrix设计目标资源隔离、MQ解耦、不可用服务调用快速失败等。资源隔离通常指不同服务调用采用不同的线程池;不可用服务调用快速失败一般通过熔断器模式结合超时机制实现阻止故障的连锁反应快速失败并迅速恢复回退并优雅降级提供近实时的监控与告警Hystrix如何实现这些设计目标?使用命令模式原创 2021-10-21 16:22:57 · 959 阅读 · 0 评论 -
SpringCloud:Feign组件之服务调用
SpringCloud:Feign组件之服务调用一、Feign概述通过RestTemplate调用其它服务的API时,所需要的参数须在请求的URL中进行拼接,如果参数少的话或许我们还可以忍受,一旦有多个参数的话,这时拼接请求字符串就会效率低下Feign 是一个声明式的 REST 客户端,它用了基于接口的注解方式,很方便实现客户端配置而Feign则会完全代理HTTP请求,我们只需要像调用方法一样调用它就可以完成服务请求及相关处理。Feign整合了Ribbon和Hystrix,可以让我们不再需要显式地使原创 2021-10-20 17:24:52 · 852 阅读 · 0 评论 -
SpringCloud:Ribbon组件实现负载均衡
SpringCloud:Ribbon组件实现负载均衡一、Ribbon简介 Ribbon是Netflix发布的云中间层服务开源项目,其主要功能是提供客户端实现负载均衡算法。Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。简单的说,Ribbon是一个客户端负载均衡器,我们可以在配置文件中Load Balancer后面的所有机器,Ribbon会自动的帮助你基于某种规则(如简单轮询,随机连接等)去连接这些机器,我们也很容易使用Ribbon实现自定义的负载均衡算法Ribbon是一个为客户端提原创 2021-10-20 16:23:30 · 164 阅读 · 0 评论 -
SpringCloud:Eureka组件之服务注册与发现
SpringCloud:Eureka组件之服务注册与发现一、Eureka简介1.springcloud Eureka介绍Spring-Cloud Eureka是springcloud集合中的一个组件,他是对Eureka的集成用于服务注册和发现。Eureka是Netflix中的一个开源框架。它和 zookeeper、Consul一样,都是用于服务注册管理的,同样,Spring-Cloud 还集成了Zookeeper和Consul2、Euraka介绍Eureka由多个instance(服务实例)组成,原创 2021-10-20 14:49:49 · 198 阅读 · 0 评论 -
22-springCloud-day03
一. 配置中心config1.1 config概述• Spring Cloud Config 解决了在分布式场景下多环境配置文件的管理和维护。• 好处:集中管理配置文件不同环境不同配置,动态化的配置更新配置信息改变时,不需要重启即可更新配置信息到服务1.2 config快速入门1.2.1 gitee搭建远程仓库1.编写仓库名称、仓库路径、公开(公开的比较方便)2.语言和模板可以不选,一般使用单分支模型,只创建master分支3.使用小乌龟工具,将远程仓库clone到本地4.使原创 2021-04-07 22:53:12 · 166 阅读 · 0 评论 -
21-springCloud-day02
一. 负载均衡Ribbon在刚才的案例中,我们启动了一个springcloud_01_goods ,然后通过DiscoveryClient来获取服务实例信息,然后获取ip和端口来访问。但是实际环境中,往往会访问拥有很多个springcloud_01_goods 服务的集群。此时获取的服务列表中就会有多个,到底该访问哪一个呢?一般这种情况下就需要编写负载均衡算法,在多个实例列表中进行选择。不过Eureka中已经集成了负载均衡组件:Ribbon,简单配置即可使用。1.1 什么是RibbonRibbo转载 2021-04-07 22:47:45 · 261 阅读 · 0 评论 -
20-springCloud-day01
一. 初识SpringCloud1.1 初识微服架构微服务架构:"微服务”一词源于 Martin Fowler的名为 Microservices的博文,可以在他的官方博客上找到http://martinfowler.com/articles/microservices.html微服务是系统架构上的一种设计风格,它的主旨是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间一般通过 HTTP 的 RESTfuLAPI 进行通信协作。被拆分成的每一个小型服原创 2021-04-07 22:43:34 · 376 阅读 · 1 评论