![](https://img-blog.csdnimg.cn/ddae93ce68b34f73b8529220d6de6446.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
springcloud分布式
文章平均质量分 83
springcloud分布式实战,相关知识点整合
tang_seven
小汤的学习笔记啦!
展开
-
springcloud——并发请求处理方案
简单记录一下基于springcloud下的面对并发请求的处理方案:主要包括业务层面处理、数据库利用update锁保底、基于redis原子性递减控制请求数、利用mq进行流量削峰、使用限流算法进行限流、使用分布式锁等方式。原创 2023-04-07 23:03:06 · 2232 阅读 · 1 评论 -
springcloud——gateway功能拓展
基于springcloud gateway下,实现获取用户的真实IP、统一跨域配置、redis令牌桶算法限流的功能。原创 2023-03-31 17:05:06 · 5925 阅读 · 1 评论 -
springcloud gateway集成RBAC模型——实现用户权限判断
springcloud gateway集成jwt token后,基于RBAC模型实现用户权限管理及判断原创 2022-10-26 18:52:40 · 1608 阅读 · 0 评论 -
springcloud gateway集成JWT——实现登录鉴权
springcloud gateway基于jwt token,实现用户登录鉴权功能原创 2022-10-24 19:45:38 · 7685 阅读 · 3 评论 -
关于如何将一个springcloud项目部署至服务器
springcloud项目进行服务器部署原创 2022-06-22 17:27:05 · 13135 阅读 · 1 评论 -
springcloud入门——Seata
1.初识seata使用分布式微服务前单机单库没这个问题;使用分布式微服务后从1:1 -> 1:N -> N:N:单体应用被拆分成微服务应用,原来的三个模块被拆分成三个独立的应用,分别使用三个独立的数据源,业务操作需要调用三三 个服务来完成。此时每个服务内部的数据一致性由本地事务来保证, 但是全局的数据一致性问题没法保证。一次业务操作需要跨多个数据源或需要跨多个系统进行远程调用,就会产生分布式事务问题。Seata是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简原创 2021-07-10 02:21:37 · 3169 阅读 · 0 评论 -
springcloud入门——Sentinel持久化规则
问题:一旦我们重启应用,sentinel规则将消失,生产环境需要将配置规则进行持久化。解决方法:将限流配置规则持久化进Nacos保存,只要刷新8401某个rest地址,sentinel控制台的流控规则就能看到,只要Nacos里面的配置不删除,针对8401上sentinel上的流控规则持续有效。具体步骤:1.修改cloudalibaba-sentinel-service8401:导入持久化规则依赖:修改yml文件,添加nacos数据源配置。在nacos服务注册中心添加配置文件.原创 2021-07-09 01:43:34 · 341 阅读 · 2 评论 -
springcloud入门——Sentinel系统规则与服务熔断
目录1.Sentinel系统规则2.SentinelResource配置3.Sentinel服务熔断Ribbon4.Sentinel服务熔断OpenFeign5.熔断框架比较1.Sentinel系统规则Sentinel 系统自适应限流从整体维度对应用入口流量进行控制,结合应用的 Load、CPU 使用率、总体平均 RT、入口 QPS 和并发线程数等几个维度的监控指标,通过自适应的流控策略,让系统的入口流量和系统的负载达到一个平衡,让系统尽可能跑在最大吞吐量的同时保...原创 2021-07-09 01:30:34 · 512 阅读 · 0 评论 -
springcloud入门——Sentinel服务降级
目录1.熔断降级概述2.Sentinel降级应用3.Sentinel热点key1.熔断降级概述现代微服务架构都是分布式的,由非常多的服务组成。不同服务之间相互调用,组成复杂的调用链路。以上的问题在链路调用中会产生放大的效果。复杂链路上的某一环不稳定,就可能会层层级联,最终导致整个链路都不可用。因此我们需要对不稳定的弱依赖服务调用进行熔断降级,暂时切断不稳定调用,避免局部不稳定因素导致整体的雪崩。熔断降级作为保护自身的手段,通常在客户端(调用端)进行配置。Sentinel熔断降..原创 2021-07-08 20:15:42 · 2569 阅读 · 0 评论 -
springcloud入门——Sentinel流控
目录1.Sentinel 简介2.Sentinel初始化监控3.Sentinel流控规则简介4.Sentinel流控规则应用1.Sentinel 简介随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。其功能与Hystrix类似。一句话,Sentinel就是一个流量防卫兵。Sentinel 分为两个部分:核心库(Java 客户端)不依赖任何框架/库,能够运行于所有 Ja..原创 2021-07-08 20:01:43 · 230 阅读 · 0 评论 -
springcloud入门——Nacos服务配置及集群
目录1.基础配置服务中心2.Nacos界面配置3.Nacos集群1.基础配置服务中心新建cloudalibaba-config-nacos-client3377,修改pom文件:Nacos为了同springcloud-config无缝迁移,需要两个yml文件。且在项目初始化时,要保证先从配置中心进行配置拉取,拉取配置之后,才能保证项目的正常启动。springboot中配置文件的加载是存在优先级顺序的,bootstrap优先级高于applicationboots..原创 2021-07-08 00:40:07 · 5809 阅读 · 0 评论 -
springcloud入门——Nacos初识
目录1.Cloud Alibaba简介2.Nacos简介和下载3.Nacos之微服务注册4.Nacos服务注册中心对比提升1.Cloud Alibaba简介Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应原创 2021-07-07 20:22:49 · 159 阅读 · 0 评论 -
springcloud入门——Sleuth
1.Sleuth简介在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的的服务节点调用来协同产生最后的请求结果,每一个前段请求都会形成一条复杂的分布式服务调用链路,链路中的任何一环出现高延时或错误都会引起整个请求最后的失败。Spring Cloud Sleuth提供了一套完整的服务跟踪的解决方案,在分布式系统中提供追踪解决方案并且兼容支持了zipkin。完整的调用链路:表示一请求链路,一条链路通过Trace ld唯一标识,Span标识发起的请求信息,各span通过pa.原创 2021-07-07 18:56:35 · 255 阅读 · 0 评论 -
springcloud入门——stream
1.初识StreamStream为什么被引入:常见的MQ(消息中间件):ActiveMQ、RabbitMQ、RocketMQ、Kafka生产者/消费者之间靠消息媒介传递信息内容 消息必须走特定的通道 - 消息通道 Message Channel 消息通道里的消息如何被消费呢,谁负责收发处理 - 消息通道MessageChannel的子接口SubscribableChannel,由MessageHandler消息处理器所订阅。我们的同一个平台之间,比如后端java和大数据平台之间,可能使原创 2021-07-07 03:06:35 · 810 阅读 · 0 评论 -
springcloud入门——Bus消息总线
目录1.Bus消息总线是什么2.Bus之RabbitMQ环境配置3.Bus动态刷新全局广播的设计思想和选型4.Bus动态刷新定点通知1.Bus消息总线是什么Spring Cloud Bus是用来将分布式系统的节点与轻量级消息系统链接起来的框架,它整合了Java的事件处理机制和消息中间件的功能。Spring Clud Bus目前支持RabbitMQ和Kafka。(即传输一个消息给APP就可以通过总线向各方传输)Spring Cloud Bus 配合Spring Cloud原创 2021-07-07 01:14:58 · 396 阅读 · 0 评论 -
springcloud入门——config分布式配置中心
1.服务配置中心分布式系统面临的配置问题:微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务。由于每个服务都需要必要的配置信息才能运行(每一个微服务自己带着一个application.yml),所以一套集中式的、动态的配置管理设施是必不可少的。(即一个总管头,一次配置处处生效)SpringCloud提供了ConfigServer来解决这个问题SpringCloud Config为微服务架构中的微服务提供集中化的外部配置支持,配置服务器为原创 2021-07-06 20:39:44 · 214 阅读 · 0 评论 -
springcloud入门——gateway
目录1.gateway简介2.Gateway工作流程3.Gateway搭建3.GateWay常用的Predicate(断言)4.GateWay的Filter(过滤器)1.gateway简介Gateway是在Spring生态系统之上构建的API网关服务,基于Spring 5,Spring Boot 2和Project Reactor等技术。SpringCloud Gateway是Spring Cloud的一个全新项目,基于Spring 5.0+Spring Boot 2.0和P原创 2021-07-06 19:48:04 · 4394 阅读 · 1 评论 -
springcloud入门——Hystrix服务熔断及Dashboard
目录1.服务熔断2.Hystrix之服务熔断案例3.Hystrix图形化Dashboard搭建1.服务熔断熔断机制概述:熔断机制是应对雪崩效应的一种微服务链路保护机制。当扇出链路的某个微服务出错不可用或者响应时间太长时,会进行服务的降级,进而熔断该节点微服务的调用,快速返回错误的响应信息。当检测到该节点微服务调用响应正常后,恢复调用链路。而断路器,相当于保险丝。简单来说,类比于访问达到最大限度后,直接拒绝访问,拉闸限电,然后调用fallback方法,返回错误提示。当我们关闭一些电原创 2021-07-06 01:08:11 · 213 阅读 · 0 评论 -
springcloud入门——Hystrix服务降级
1.服务雪崩分布式系统面临的问题:复杂分布式体系结构中的应用程序有数十个依赖关系,每个依赖关系在某些时候将不可避免地失败。多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又调用其它的微服务,这就是所谓的“扇出”(即形成了一条调用链A-B-C)。如果扇出的链路上某个微服务的调用响应时间过长或者不可用,对微服务A的调用就会占用越来越多的系统资源,进而引起系统崩溃,所谓的“雪崩效应”.对于高流量的应用来说,单一的后避依赖可能会导致所有服务器上的所有资源都在几秒钟内饱和。比原创 2021-07-05 20:41:16 · 188 阅读 · 0 评论 -
springcloud入门——OpenFeign
目录1.初识OpenFeign2.OpenFeign服务调用3.OpenFeign超时控制4.OpenFeign日志增强1.初识OpenFeignFeign是一个声明式WebService客户端。使用Feign能让编写Web Service客户端更加简单。它的使用方法是定义一个服务接口然后在上面添加注解。Feign也支持可拔插式的编码器和解码器。Spring Cloud对Feign进行了封装,使其支持了Spring MVC标准注解和HttpMessageConverters。Feig原创 2021-07-05 02:59:52 · 246 阅读 · 0 评论 -
springcloud入门——Ribbon原理及应用
1.Ribbon负载均衡原理默认负载轮训算法: rest接口第几次请求数 % 服务器集群总数量 = 实际调用服务器位置下标List<Servicelnstance> instances = discoveryClient.getInstances("CLOUD-PAYMENT-SERVICE");list.get(index)获取下标index,决定被访问的机器。实例:eureka服务中心集群了payment微服务8001和8002,则队列为 List [0] ins...原创 2021-07-05 01:59:49 · 240 阅读 · 0 评论 -
springcloud入门——Ribbon负载均衡
1.什么是RibbonSpring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具。简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法和服务调用。Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。简单的说,就是在配置文件中列出Load Balancer(简称LB)后面所有的机器,Ribbon会自动的帮助你基于某种规则(如简单轮询,随机连接等)去连接这些机器。我们很容易使用Ribbon实现自定义的负载原创 2021-07-05 01:00:52 · 164 阅读 · 0 评论 -
springcloud入门——eureka/zookeeper/consul异同点
Eureka、Zookeeper、Consul作为三个不同的服务注册中心,拥有相同的功能(都能完成服务注册功能,都能进行集群等等),也具有不同的特性(自我保护机制不一样等等)。下面,对三方的异同点进行一定的分析:首先Eureka和Consul都具有自己的前端页面,而zookeeper没有。编程者可以在网页上查看、管理在服务中心入驻的微服务,而zookeeper需要通过指令进行管理。再者,我们需要先认识一下CAP理论:CAP: C:Consistency (强一致性) A:Av原创 2021-07-04 22:00:36 · 217 阅读 · 0 评论 -
springcloud入门——consul
1.什么是Consul由官网上的定义可知:Consul是一个服务网格解决方案,它提供了一个功能齐全的控制平面,具有服务发现、配置和分段功能。这些特性中的每一个都可以根据需要单独使用,也可以一起用于构建全服务网格。Consul需要一个数据平面,并支持代理和本机集成模型。Consul船与一个简单的内置代理,使一切工作的开箱即用,但也支持第三方代理集成,如Envoy。提供了微服务系统中的服务治理、配置中心、控制总线等功能。这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构建全方位的服务网格,总之原创 2021-07-04 21:25:46 · 138 阅读 · 0 评论 -
springcloud入门——zookeeper
1.zookeeper初始zookeeper是一个分布式协调工具,可以实现注册中心功能。换而言之,zookeeper和eureka一样,是用于充当服务注册功能服务器的一个springcloud插件。zookeeper服务端和eureka不一样,不需要在IDEA中进行配置,而需要下载相关程序包,并解压使用。在Windows下进行安装步骤如下:其使用原理与eureka相同,如下:2.微服务入驻zookeeper具体步骤和微服务入驻eureka类似:建module、改pom、写yml、原创 2021-07-04 19:30:15 · 1704 阅读 · 0 评论 -
springcloud入门——eureka集群原理及应用
1.集群原理简介集群技术是一种通用的技术,其目的是为了解决单机运算能力的不足、IO能力的不足、提高服务的可靠性、获得规模可扩展能力,降低整体方案的运维成本(运行、升级、维护成本)。它是共享资源、分担费用、共用信道设备及服务的多用途、高效能的无线调度通信。而:微服务RPC远程服务调用最核心的是高可用。所以需要搭建 Eureka注朋中心集群,实现负均衡+故障容错。简而言之,就是整个项目所有微服务对外暴露是一个集体,外面就叫一个Eureka。内部由多台构成,相互之间互相注册,互相守望。2.Eure原创 2021-07-03 02:58:39 · 454 阅读 · 0 评论