![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
springcloud
馒头太帅了
这个作者很懒,什么都没留下…
展开
-
Spring-cloud学习笔记---Eureka源码剖析之服务接口提供策略
Spring-cloud学习笔记—Eureka源码剖析之服务接口提供策略1.在Eureka Server启动过程中主配置类注册了Jersey框架(是⼀个发布restful⻛格接⼝的框架,类似于我们的springmvc)使用@Bean的方式注册了一个Jersey的过滤器,这个过滤器其实是引入了一个Jersey的实例2.注⼊的Jersey细节3.扫描classpath下的那些packages呢?已经在EUREKA_PACKAGES中定义好了4.对外提供的接⼝服务,在Jersey中叫做资源原创 2020-11-02 22:02:54 · 129 阅读 · 0 评论 -
Spring-cloud学习笔记--- Eureka源码剖析之服务注册接口
Spring-cloud学习笔记— Eureka源码剖析之服务注册接口1. ApplicationResource类的addInstance()⽅法中代码registry.register(info,"true".equals(isReplication));:节点注册完成com.netflix.eureka.registry.PeerAwareInstanceRegistryImpl的register:注册服务信息并同步到其它Eureka节点AbstractInstanceRegistry的原创 2020-11-02 23:53:56 · 259 阅读 · 0 评论 -
Spring-cloud学习笔记--- Eureka源码剖析之服务续约接口
Spring-cloud学习笔记— Eureka源码剖析之服务续约接⼝(接受客户端续约)1. 因为续约是针对实例的,所以续约在InstanceResource的里面InstanceResource的renewLease方法表示更新续期的方法其中这个方法中的boolean isSuccess = registry.renew(app.getName(), id, isFromReplicaNode);的renew是核心方法点击InstanceResource的renewLease方法后,点击ren原创 2020-11-03 00:23:16 · 113 阅读 · 0 评论 -
Spring-cloud学习笔记---Ribbon源码剖析之拦截器Interceptor方法
Spring-cloud学习笔记—Ribbon源码剖析之拦截器Interceptor方法1. 分析拦截器主要分析LoadBalancerInterceptor的intercept()⽅法2. 那么RibbonLoadBalancerClient对象是在哪里注入的?回到最初的⾃动配置类RibbonAutoConfiguration中,如下图红色框所以说负载均衡的事情执⾏,原来交给了我们最初看到的RibbonLoadBalancerClient对象3. 接下来回到LoadBalancerInt原创 2020-11-13 00:44:41 · 424 阅读 · 0 评论 -
Spring-cloud学习笔记---Ribbon源码剖析之RestTemplate对象绑定拦截器过程
Spring-cloud学习笔记—Ribbon源码剖析之RestTemplate对象绑定拦截器过程1. 查看Ribbon源码来源分析我们在RestTemplate实例上添加了⼀个@LoadBalanced注解,就可以实现负载均衡,很神奇,我们接下来分析这个注解背后的操作(负载均衡过程)查看@LoadBalanced注解,那这个注解是在哪⾥被识别到的呢?SpringCloud充分利⽤了SpringBoot的⾃动装配特点,找spring.factories配置⽂件,在netflix-ribbon的j原创 2020-11-12 00:29:14 · 150 阅读 · 1 评论 -
Spring-cloud学习笔记---Ribbon工作原理及细节结构
Spring-cloud学习笔记—Ribbon工作原理及细节结构原创 2020-11-11 00:52:24 · 228 阅读 · 1 评论 -
Spring-cloud学习笔记---Ribbon服务器端和客户端负载均衡
Spring-cloud学习笔记—Ribbon服务器端和客户端负载均衡1. 关于负载均衡负载均衡⼀般分为服务器端负载均衡和客户端负载均衡所谓服务器端负载均衡,⽐如Nginx、F5这些,请求到达服务器之后由这些负载均衡器根据⼀定的算法将请求路由到⽬标服务器处理。所谓客户端负载均衡,⽐如我们要说的Ribbon,服务消费者客户端会有⼀个服务器地址列表,调⽤⽅在请求前通过⼀定的负载均衡算法选择⼀个服务器进⾏访问,负载均衡算法的执⾏是在请求客户端进⾏。Ribbon是Netflix发布的负载均衡器。Eure原创 2020-11-10 00:32:35 · 211 阅读 · 0 评论 -
Spring-cloud学习笔记--- Hystrix的Dashboard监控仪表盘
Spring-cloud学习笔记— Hystrix的Dashboard监控仪表盘1. Hystrix的Dashboard监控仪表盘作用如果我们想看到Hystrix相关数据,⽐如有多少请求、多少成功、多少失败、多少降级等,其实是基于SpringBoot健康监控的引入SpringBoot健康监控后,访问/actuator/hystrix.stream接⼝可以获取到监控的⽂字信息,但是不直观,所以Hystrix官⽅还提供了基于图形化的DashBoard(仪表板)监控平台。Hystrix仪表板可以显示每个原创 2020-11-16 19:25:42 · 201 阅读 · 0 评论 -
Spring-cloud学习笔记--- Hystrix介绍,熔断,降级
Spring-cloud学习笔记— Hystrix介绍1. Hystrix简介Hystrix(豪猪----->刺),宣⾔“defend your app”(保护你的APP),是由Netflix开源的⼀个延迟和容错库,⽤于隔离访问远程系统、服务或者第三⽅库,防⽌级联失败,从⽽提升系统的可⽤性与容错性。Hystrix主要通过以下⼏点实现延迟和容错。包裹请求:使⽤HystrixCommand包裹对依赖的调⽤逻辑。 ⾃动投递微服务⽅法,先假设调⽤某个微服务(在调用方使用注解@HystrixComm原创 2020-11-15 01:17:10 · 114 阅读 · 0 评论 -
Spring-cloud学习笔记--- Hystrix跳闸、自我修复机制
Spring-cloud学习笔记— Hystrix跳闸、自我修复机制1. Hystrix⼯作流程当调⽤出现问题时,开启⼀个时间窗(10s)在这个时间窗内,统计调⽤次数是否达到最⼩请求数?(跳闸)如果没有达到最⼩请求数,则重置统计信息,回到第1步如果达到最⼩请求数了,则统计失败的请求数占所有请求数的百分⽐,是否达到阈值(50%)?如果达到阈值,则跳闸(不再请求对应服务)如果没有达到阈值,则重置统计信息,回到第1步如果跳闸,则会开启⼀个活动窗⼝(默认5s),每隔5s,Hystr原创 2020-11-16 00:28:17 · 459 阅读 · 0 评论 -
Spring-cloud学习笔记--- Hystrix熔断器之微服务架构雪崩效应及解决方案
Spring-cloud学习笔记—Hystrix熔断器之微服务架构雪崩效应及解决方案1. 雪崩效应场景扇⼊:代表着该微服务被调⽤的次数,扇⼊⼤,说明该模块复⽤性好扇出:该微服务调⽤其他微服务的个数,扇出⼤,说明业务逻辑复杂扇⼊⼤是⼀个好事,扇出⼤不⼀定是好事在微服务架构中,⼀个应⽤可能会有多个微服务组成,微服务之间的数据交互通过远程过程调⽤完成。这就带来⼀个问题,假设微服务A调⽤微服务B和微服务C,微服务B和微服务C⼜调⽤其它的微服务,这就是所谓的扇出。如果扇出的链路上某个微服务的调⽤响应原创 2020-11-14 11:17:50 · 127 阅读 · 0 评论 -
Spring-cloud学习笔记--- Hystrix舱壁模式原理
Spring-cloud学习笔记— Hystrix舱壁模式原理1. Hystrix舱壁模式(线程池隔离策略)如果不进⾏任何设置,所有熔断⽅法使⽤⼀个Hystrix线程池(10个线程),那么这样的话会导致问题,这个问题并不是扇出链路微服务不可⽤导致的,⽽是我们的线程机制导致的如果⽅法A的请求把10个线程都⽤了,⽅法2请求处理的时候压根都没法去访问B,因为没有线程可⽤,并不是B服务不可⽤Hystrix舱壁模式为了避免问题服务请求过多导致正常服务⽆法访问,Hystrix 不是采⽤增加线程数,⽽是原创 2020-11-15 23:06:22 · 321 阅读 · 0 评论 -
Spring-cloud学习笔记--- Feign对Hystrix的支持及请求响应压缩策略
Spring-cloud学习笔记— Feign对Hystrix的支持及请求响应压缩策略1. Feign对熔断器的⽀持在Feign客户端⼯程配置⽂件(application.yml)中开启Feign对熔断器的⽀持Feign已经引入Hystrix了# 开启Feign的熔断功能feign: hystrix: enabled: trueFeign的超时时⻓设置那其实就Ribbon的超时时⻓设置,如下#针对的被调用方微服务名称,不加就是全局生效lagou-service-r原创 2020-11-17 01:33:42 · 277 阅读 · 0 评论 -
Spring-cloud学习笔记--- Feign的简介及应用配置
Spring-cloud学习笔记— Feign的简介及应用配置1. RestTemplate远程调⽤的不便之处服务消费者调⽤服务提供者的时候使⽤RestTemplate技术,这个技术存在不便之处不便之处有以下几种拼接urlrestTmplate.getForObJect这两处代码都⽐较模板化,能不能不让我我们来写这种模板化的东⻄,另外来说拼接url⾮常的low,拼接字符串,拼接参数,很low还容易出错2. Feign的简介Feign是Netflix开发的⼀个轻量级RESTfu原创 2020-11-17 00:32:21 · 109 阅读 · 0 评论 -
Spring-cloud学习笔记--- Feign对Ribbon的支持及超时重试机制和日志
Spring-cloud学习笔记— Feign对Ribbon的支持及超时重试机制1. Feign对负载均衡的⽀持Feign本身已经集成了Ribbon依赖和⾃动配置,因此我们不需要额外引⼊依赖,可以通过 ribbon.xx来进⾏全局配置,也可以通过服务名.ribbon.xx 来对指定服务进⾏细节配置配置(参考之前,此处略)Feign默认的请求处理超时时⻓1s,有时候我们的业务确实执⾏的需要⼀定时间,那么这个时候,我们就需要调整请求处理超时时⻓,Feign⾃⼰有超时设置,如果配置Ribbon的超时,原创 2020-11-17 01:09:04 · 229 阅读 · 0 评论 -
Springcloud---B站学习总结---新一代网关Gateway路由
Springcloud—B站学习总结—新一代网关Gateway路由 9527网关如何做映射路由配置文件:server: port: 9527spring: application: name: cloud-gateway cloud: gateway: #routes表示路由有很多个,不只是一个,某个controller里面的rest风格接口都可以做路由 routes: - id: payment_routh #pa原创 2020-05-25 23:57:06 · 134 阅读 · 0 评论 -
Spring-cloud学习笔记---Spring Cloud Alibaba Nacos简介
Spring-cloud学习笔记—Spring Cloud Alibaba Nacos简介1. Nacos简介Nacos (Dynamic Naming and Configuration Service)是阿⾥巴巴开源的⼀个针对微服务架构中服务发现、配置管理和服务管理平台。Nacos就是注册中⼼+配置中⼼的组合(Nacos=Eureka+Config+Bus)官⽹:https://nacos.io下载地址:https://github.com/alibaba/Nacos2. Nacos功能原创 2020-12-01 00:27:03 · 115 阅读 · 0 评论 -
Spring-cloud学习笔记---基于Nacos持久化Sentinel流控及降级规则数据
Spring-cloud学习笔记—基于Nacos持久化Sentinel流控和降级1. 改造成持久化项目的过程Sentinel Dashboard中添加的规则数据存储在内存,微服务停掉规则数据就消失,在⽣产环境下不合适。我们可以将Sentinel规则数据持久化到Nacos配置中⼼,让微服务从Nacos获取规则数据。引入jar包<!-- Sentinel支持采用 Nacos 作为规则配置数据源,引入该适配依赖 --> <dependency>原创 2020-12-04 18:37:17 · 790 阅读 · 0 评论 -
Spring-cloud学习笔记---Spring Cloud Alibaba Sentinel简介
Spring-cloud学习笔记—Spring Cloud Alibaba Sentinel简介原创 2020-12-04 16:53:03 · 121 阅读 · 1 评论 -
Spring-cloud学习笔记---分布式架构统一认证主流实现方案JWT简介
Spring-cloud学习笔记—分布式架构统一认证主流实现方案JWT简介1.JWT改造统⼀认证授权中⼼的令牌存储机制前的思考当我们第⼀次登陆之后,认证服务器颁发token并将其存储在认证服务器中,后期我们访问资源服务器时会携带token,资源服务器会请求认证服务器验证token有效性,如果资源服务器有很多,那么认证服务器压⼒会很⼤另外,资源服务器向认证服务器check_token,获取的也是⽤户信息UserInfo,能否把⽤户信息存储到令牌中,让客户端⼀直持有这个令牌,牌的验证也在资源服务器进⾏,原创 2020-11-29 00:26:32 · 249 阅读 · 0 评论 -
Spring-cloud学习笔记---分布式架构统一认证主流实现方案 Spring Cloud OAuth2介绍
Spring-cloud学习笔记—分布式架构统一认证主流实现方案1. 微服务架构下统⼀认证思路认证 :验证⽤户的合法身份,⽐如输⼊⽤户名和密码,系统会在后台验证⽤户名和密码是否合法,合法的前提下,才能够进⾏后续的操作,访问受保护的资源独立的认证服务基于Session的认证⽅式在分布式的环境下,基于session的认证会出现⼀个问题,每个应⽤服务都需要在session中存储⽤户身份信息,通过负载均衡将本地的请求分配到另⼀个应⽤服务需要将session信息带过去,否则会重新认证。我们可以使⽤S原创 2020-11-25 19:23:26 · 350 阅读 · 0 评论 -
Spring-cloud学习笔记---Eureka源码剖析之EurekaServer启动过程
g原创 2020-10-29 01:16:53 · 256 阅读 · 0 评论 -
Springcloud---B站学习总结---Springcloud Alibaba---seata原理简介
Springcloud—B站学习总结—Springcloud Alibaba—seata原理简介(Spring aop思想+回退反写机制处理)seata:简单可扩展的自治事务框架seata中三大组件,TC,TM,RM理解TM管着RM,统一的通过TC来协调分布式事务执行流程Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。但是默认使用AT模式以下模式介绍取自官网AT 模式提供无侵入自动补偿的事务模式,目前已支持 MySQL、 Ora原创 2020-06-12 01:17:38 · 167 阅读 · 0 评论 -
Springcloud---B站学习总结---Springcloud Alibaba---seata之模块搭建和注解@GlobalTrascational
Springcloud—B站学习总结—Springcloud Alibaba—seata之Order模块搭建业务:下订单—>减库存—>扣余额—>改订单状态新建Order(订单)模块搭建原创 2020-06-11 19:09:41 · 284 阅读 · 0 评论 -
Springcloud---B站学习总结---Springcloud Alibaba---seata处理分布式事务简介
Springcloud—B站学习总结—Springcloud Alibaba—seata处理分布式事务分布式事物问题分布式事物问题一句话总结==目的:==为了解决全局数据的一致性问题的保证Seata介绍(是什么):Seata 是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。Seata可以做什么:一个典型的分布式事务过程包含分布式事务处理过程的一ID+三组件模型Transaction ID XID:全局唯一的事务ID三组件 概念:1.原创 2020-06-11 11:47:02 · 183 阅读 · 0 评论 -
Springcloud---B站学习总结---Springcloud Alibaba---sentinel规则持久化
Springcloud—B站学习总结—Springcloud Alibaba—sentinel规则持久化sentinel规则持久化是什么sentinel规则持久化怎么用通过修改8401查看sentinel规则持久化步骤:1.改pom文件:添加依赖 Sentinel编写好的流控规则写进我们的的Nacos中,做持久化用到<dependency> <groupId>com.alibaba.csp</groupId> <artifactI原创 2020-06-08 18:24:17 · 125 阅读 · 0 评论 -
Springcloud---B站学习总结---Springcloud Alibaba---@SentinelResource注解配置,服务熔断功能
Springcloud—B站学习总结—Springcloud Alibaba—服务熔断功能Ribbon系列启动nacos和sentinel编写提供者9003和9004编写消费者84消费者84通过Ribbon(自带负载均衡)调用服务提供者9003和9004由以上可知我们需要为消费者84配置服务熔断,降级,限流,接下来编写消费者84moudle步骤:1.创建84模块2.pom3.YML文件 server: port: 84 spring: applicati原创 2020-06-08 17:41:38 · 172 阅读 · 0 评论 -
Springcloud---B站学习总结---Springcloud Alibaba---@SentinelResource注解配置
Springcloud—B站学习总结—Springcloud Alibaba—@SentinelResource注解配置按资源名称限流(临时节点)代码实例: @GetMapping("/byResource") @SentinelResource(value = "byResource",blockHandler = "handleException") public CommonResult byResource() { return new Common原创 2020-06-08 13:51:49 · 174 阅读 · 0 评论 -
Springcloud---B站学习总结---Springcloud Alibaba---Sentinel系统规则
Springcloud—B站学习总结—Springcloud Alibaba—Sentinel系统规则sentinel系统规则简介(github上叫做系统自适应限流,有总控的功能)Sentinel 系统自适应限流从整体维度对应用入口流量进行控制,结合应用的 Load、CPU 使用率、总体平均 RT、入口 QPS 和并发线程数等几个维度的监控指标,通过自适应的流控策略,让系统的入口流量和系统的负载达到一个平衡,让系统尽可能跑在最大吞吐量的同时保证系统整体的稳定性。系统规则 系统保护规则是从应用级别的入原创 2020-06-07 18:17:22 · 101 阅读 · 0 评论 -
Springcloud---B站学习总结---Springcloud Alibaba---Sentinel热点key限流
Springcloud—B站学习总结—Springcloud Alibaba—Sentinel热点key限流热点限流规则简介由图片可知,热点限流模式仅支持QPS模式官网介绍何为热点?热点即经常访问的数据。很多时候我们希望统计某个热点数据中访问频次最高的 Top K 数据,并对其访问进行限制。例子://通过rest风格的url,针对url的参数进行限流,比如针对p1限流,认为p1是热点参数,将其限流,//如果是其他参数,将不会限流localhost:8080/test?p1=1以前Hys原创 2020-06-07 17:49:42 · 101 阅读 · 0 评论 -
Springcloud---B站学习总结---Springcloud Alibaba---Sentinel降级
Springcloud—B站学习总结—Springcloud Alibaba—Sentinel降级Sentinel的降级官网就叫熔断降级,因为熔断了 才会有服务降级然后给予友好的提示降级规则基本介绍降级策略:1.RT2.异常比列3.异常数进一步说明注意: sentinel的断路器是没有半开状态的降级策略----第一种:RT平均响应时间 (DEGRADE_GRADE_RT): 当 1s 内持续进入 N 个请求,对应时刻的平均响应时间(秒级)均超过阈值(count,以 ms 为原创 2020-06-06 01:15:12 · 98 阅读 · 0 评论 -
Springcloud---B站学习总结---Springcloud Alibaba---Sentinel实现熔断与限流---初始化工程介绍
Springcloud—B站学习总结—Springcloud Alibaba—Sentinel实现熔断与限流—流控规则简介流控规则简介(流量限制控制规则,不是流程控制)新增流控规则解释原创 2020-06-04 22:19:26 · 113 阅读 · 0 评论 -
Springcloud---B站学习总结---Springcloud Alibaba---Sentinel实现熔断与限流---初始化工程简介
Springcloud—B站学习总结—Springcloud Alibaba—Sentinel简介Sentinel: 分布式系统的流量防卫兵Hystrix转换到SentinelSentinel是什么随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。Sentinel下载和安装Sentinel主要特性/能干嘛(绿色的部分):防止服务雪崩,降级,熔断,限流安装Sentinel的控制台Sen原创 2020-06-02 01:55:27 · 85 阅读 · 0 评论 -
Springcloud---B站学习总结---Springcloud Alibaba---Nacos集群和持久化
Springcloud—B站学习总结—Springcloud Alibaba—服务注册与配置中心Nacos集群Nacos集群部署架构图预备环境 1.64 bit OS Linux/Unix/Mac,推荐使用Linux系统。 2.64 bit JDK 1.8+;下载.配置。 3.Maven 3.2.x+;下载.配置。 4.3个或3个以上Nacos节点才能构成集群。Nacos集群部署架构图(细化)Nacos的官网说明Nacos持久化配置解释—》derby数据库切换mysql数据库中原创 2020-05-31 22:34:13 · 97 阅读 · 0 评论 -
Springcloud---B站学习总结---Springcloud Alibaba---服务注册与配置中心Nacos---服务配置中心功能
Springcloud—B站学习总结—Springcloud Alibaba—服务注册与配置中心Nacos—服务配置中心功能将配置写进Nacos,从Nacos中抓取我们需要的对应的配置信息Nacos作为服务配置中心的基础功能1.POM文件:主要是两个依赖<!--nacos-config--> <dependency> <groupId>com.alibaba.cloud</groupId>原创 2020-05-31 16:28:08 · 198 阅读 · 0 评论 -
Springcloud B站学习总结---Springcloud Alibaba---服务注册与配置中心Nacos---服务提供者注册
Springcloud—B站学习总结—Springcloud Alibaba—服务注册与配置中心Nacos—服务提供者注册搭建基于nacos的服务提供者原创 2020-05-29 00:05:21 · 101 阅读 · 0 评论 -
Springcloud---B站学习总结---Springcloud Alibaba---服务注册与配置中心Nacos---服务注册中心功能
Springcloud—B站学习总结—Springcloud Alibaba—服务注册与配置中心Nacos为什么叫NacosNacos是什么Nacos能干嘛1.代替Eureka做服务注册中心2.代替Config做配置服务中心使用nacosmac的话要进入nacos的bin目录下执行命令sh startup.sh -m standalone,执行单机版的nacos,之后直接访问路径http://localhost:8848/nacos,默认账号密码都是nacos成功开启nacos后访问原创 2020-05-28 13:04:35 · 105 阅读 · 0 评论 -
Springcloud---B站学习总结---Springcloud Alibaba
Springcloud—B站学习总结—Springcloud Alibaba为什么会出现Springcloud Alibaba因为Netflix的项目进入了维护模式,如下Springcloud Alibaba是什么诞生:Springcloud Alibaba能干什么(主要功能)如何使用如何引入依赖怎么用Springcloud Alibaba是什么资料...原创 2020-05-28 01:32:04 · 105 阅读 · 0 评论 -
Springcloud---B站学习总结---分布式请求链路追踪Sleuth
Springcloud—B站学习总结—分布式请求链路追踪Sleuth遇到新技术 1.为什么会出现这个技术,需要解决哪些问题,问题是什么 2.这个新技术 是什么 3.解决 4.搭建新技术步骤问题Sleuth是什么(一般先看官网/github)搭建链路监控步骤1.Sleuth负责收集整理,zipkin负责展现完整的调用链路精简一下整个链路的依赖关系名词解释...原创 2020-05-28 01:13:18 · 95 阅读 · 0 评论 -
Springcloud---B站学习总结---消息驱动Stream的持久化
Springcloud—B站学习总结—消息驱动Stream的持久化在配置文件中,将8802的分组属性去掉,8803的分组属性保留8802控制台打印8803控制台打印原创 2020-05-28 00:33:37 · 165 阅读 · 1 评论