![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SpringCloud
文章平均质量分 86
先熬半个月
这个作者很懒,什么都没留下…
展开
-
springcloud原理分析——gateway
在说原理前,先看看一个请求下来在gateway中会发生什么其中红字的做一下说明:org.springframework.web.reactive.DispatcherHandler:接收到请求,匹配 HandlerMapping ,此处会匹配到 RoutePredicateHandlerMapping 。 org.springframework.cloud.gateway.handler.RoutePredicateHandlerMapping:接收到请求,匹配 Route 。 org...原创 2020-11-24 12:28:15 · 882 阅读 · 0 评论 -
springcloud原理篇——Nacos
Nacos核心功能点服务注册:Nacos Client会通过发送REST请求的方式向Nacos Server注册自己的服务,提供自身的元数据,比如ip地址、端口等信息。 Nacos Server接收到注册请求后,就会把这些元数据信息存储在一个双层的内存Map中。服务心跳:在服务注册后,Nacos Client会维护一个定时心跳来持续通知Nacos Server,说明服务一直处于可用状态,防止被剔除。默认 5s发送一次心跳。服务同步:Nacos Server集群之间会互相同步服务实例,用来保证服.原创 2020-11-17 19:18:42 · 1925 阅读 · 0 评论 -
springcloud原理篇——ribbon/feign
ribbon简单点讲就是通过@LoadBalanced去负载到相应的服务中去,其中通过http(一般配合RestTemplate)请求去访问提供者接口,ribbon通过拦截器/代理将服务名等替换为ip等信息进行访问,如果提供者存在集群情况,ribbon会根据相应的算法(默认轮询、随机、权重等)进行负载均衡。而feign就是对于ribbon的一个简单封装。一、Ribbon源码分析:1、以LoadBalancerAutoConfiguration为入口(找这些组件一般以AutoConfigur.原创 2020-11-06 18:00:04 · 795 阅读 · 0 评论 -
springcloud原理篇——hystrix原理分析
对于hystrix入门使用的看我之前写的另一篇文章,这里是对于hystrix的原理进行分析基本概念及工作流程hystrix是解决服务降级和服务熔断的组件。服务雪崩:在下图中,如果H服务调用超时,而此时我们没有做降级/熔断处理,此时就会阻塞导致c服务不可用,慢慢积累也会导致A服务也不可用。从而导致整个服务不可用,这就是所谓的服务雪崩至于怎么使用hystrix的降级和熔断,可以看我前面写的入门篇。hystrix作为一个熔断器来进行服务熔断,该熔断器存在三种状态:关闭(closed)、开原创 2020-11-05 14:44:26 · 1215 阅读 · 0 评论 -
springcloud原理篇——eureka的原理分析
前面入门系列已经讲了eureka的简单使用,这篇对于eureka的原理进行解析说明1、Eureka架构图官方给的架构图。至于各个流程是怎么样的,看下面2、Eureka核心功能点服务注册(register):Eureka Client会通过发送REST请求的方式向Eureka Server注册自己的服务,提供自身的元数 据,比如ip地址、端口、运行状况指标的url、主页地址等信息。Eureka Server接收到注册请求后,就会把这些元数 据信息存储在一个双层的Map中(注册表.原创 2020-11-04 17:56:43 · 1611 阅读 · 0 评论 -
Hystrix 隔离策略:线程池、信号量
Hystrix内部,提供了两种模式隔离策略:信号量、线程池。(默认情况下,Hystrix使用线程池模式。)信号量隔离,适应非网络请求,因为是同步的请求,无法支持超时,只能依靠协议本身 线程池隔离,即:每个实例都增加个线程池进行隔离总结: 线程池隔离 信号量隔离 是否支持超时 支持,超时直接返回 不支持,如果阻塞,只能通过调 用协议(如:socket超时才能返回) 是否支持熔断 支持,当线程池到达maxSize后,再 请求会触发fallbac..原创 2020-10-27 19:14:07 · 5755 阅读 · 0 评论 -
springcloud入门篇——seata
别人写的挺详细:不浪费时间写https://blog.csdn.net/lzb348110175/article/details/107699201https://blog.csdn.net/lzb348110175/article/details/107701927原创 2020-10-27 19:10:05 · 191 阅读 · 0 评论 -
springcloud入门篇——sentinel
该文主要参考https://blog.csdn.net/lzb348110175/article/details/107532937对sentinel进行下载安装、项目配置、控制台配置、自定义兜底方法、sentinel持久化进行简要说明阿里用sentinel代替hystrixSentinel分为两个部分:核心库(Java客户端)不依赖任何框架/库,能够运行于所有Java运行时环境,同时对Dubbo/Spring Cloud等框架也有较好的支持。 控制台(Dashboard)基于Spr.原创 2020-10-27 19:04:37 · 373 阅读 · 0 评论 -
springcloud入门篇——nacos(注册中心+配置中心)
nacos常被用做注册中心+配置中心,内集成ribbon等。原理什么的先不讲,下面直接看入门案例nacos是可以ap、cp切换的,适用较多的场景。一、nacos下载安装https://github.com/alibaba/nacos/releases/tag/1.3.2解压安装包,直接运行bin目录下的startup.cmdhttp://localhost:8848/nacos默认账号密码都是nacos...原创 2020-10-27 16:41:00 · 695 阅读 · 2 评论 -
springcloud入门系列——Sleuth(结合zipkin的链路追踪)
在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的服务节点调用来协调产生最后的请求结果,每一个前段请求都会形成一条复杂的分布式服务调用链路,链路中的任何一环出现高延迟或错误都会引起整个请求最后的失败。SpringCloud Sleuth提供了一套完整的服务跟踪的解决方案在分布式系统中提供追踪解决方案并且兼容支持了zipkin官网:https://cloud.spring.io/spring-cloud-sleuth/reference/html/Sleuth 负责收集整理..原创 2020-10-23 19:57:41 · 625 阅读 · 1 评论 -
springcloud入门系列——Gateway
作为zuul1.x网关的替代品,spring自主编写。一. 什么是Gateway网关? Gateway是在Spring生态系统之上构建的API网关服务,基于Spring 5,Spring Boot 2和Project Reactor等技术。 Gateway旨在提供一 种简单而有效的方式来对API进行路由,以吸提供- 些强大的过滤器功能, 例如:熔断、限流、重试等 SpringCloud Gateway是Spring Cloud的一个全新项目,纡Spring 5.0+ Spri.原创 2020-10-23 18:35:54 · 193 阅读 · 0 评论 -
springcloud组件入门使用——Hystrix
一. 分布式系统面临的问题复杂分布式体系结构中的应用程序有数十个依赖关系,每个依赖关系在某些时候将不可避免地损失的。服务雪崩多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又调用其它的微服务,这就是所谓的"扇出"。如果扇出的链路上某个微服务的调用响应时间过长或者不可用,对微服务A的调用就会占用越来越多的系统资源,进而引起系统崩溃,所谓的“雪崩效应”.对于高流量的应用来说,单-的后端依赖可能会导致所有服务器上的所有资源都在几秒钟内饱和。比失败更糟糕的是,这些.原创 2020-10-23 17:13:12 · 211 阅读 · 0 评论 -
springcloud组件入门使用——ribbon、openfeign
这里继续上篇eureka的文章,讲下ribbon、openfeign、hystrix的使用一、Ribbon Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现。通过Spring Cloud的封装,可以让我们轻松地将面向服务的REST模版请求自动转换成客户端负载均衡的服务调用。Spring Cloud Ribbon虽然只是一个工具类框架,它不像服务注册中心、配置中心、API网关那样需要独立部署,但是它几乎存在于每一...原创 2020-10-23 14:36:08 · 717 阅读 · 0 评论 -
springcloud组件入门使用——Eureka
对于eureka的入门使用一、整体框架搭建1、父工程即idea环境idea配置环境:字符编码注解生效激活java编译版本选8maven配置配置成自己的maven地址配置RunDashboard:在.idea文件夹下找到workspace.xml文件在<component name="RunDashboard">标签下加入<option name="configurationTypes"> <set> <o.原创 2020-10-21 20:01:40 · 307 阅读 · 0 评论