![](https://img-blog.csdnimg.cn/20190918140158853.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
SpringCloud
文章平均质量分 93
SpringCloud
我神级欧文
这个作者很懒,什么都没留下…
展开
-
Nacos整合SpringCloud的自动注册原理
一.问题引出单独的nacos项目中分为client端和server端,client端会调用register去向server端注册,但是我们在做微服务的时候引入的并不是单独的nacos客户端的jar包,而是springcloud alibaba nacos这个jar包,当我们引入这个jar包之后,就可以在项目启动的时候自动地往nacos服务端去注册这个服务了,那么springcloud alibaba nacos这个包能做到自动注册的原理是什么呢?二.nacos,springcloud ali原创 2022-01-18 17:50:22 · 1629 阅读 · 0 评论 -
SpringCloud整合Feign的调用源码流程解析
Feign的内部组件在说feign的整个初始化过程之前,我们先来看看feign的内部组件有哪些我们直接来到Feign这个类,里面有一个内部类Builder,不难猜到创建一个Feign对象应该就是使用构造者模式public static class Builder { private final List<RequestInterceptor> requestInterceptors = new ArrayList<RequestInterceptor&g原创 2021-07-18 21:02:10 · 465 阅读 · 1 评论 -
SpringCloud与Ribbon整合的时候是如何提供RestTemplate负载均衡功能?
当我们在项目中加上springcloud-ribbon依赖之后,RestTemplate就具有了负载均衡的功能,这是为什么呢?下面我们来主要分析下其原理的实现首先我先说出原理,这个原理就是RestTemplate中能够添加一组拦截器,而一旦添加了拦截器,在RestTemplate真正地发请请求的时候,会先经过这些拦截器,而springcloud在与ribbon整合中就提供了一个拦截器,在RestTemplate发起请求之前可以通过ribbon获取目标服务实例并且能够重写urlLoadBalanc.原创 2021-07-18 20:51:49 · 200 阅读 · 1 评论 -
深入理解Sentinel如何构建Node调用树
sentinel在node调用树的基础去通过一系列的规则slot去达到限流流控降级功能的实现,并且这些规则slot是通过链表的数据结构去进行级联调用的,它们都分别对应着一个功能点,而在slot调用链中可以分为两种类型的slot,一种就是用于构建node调用树的slot,一种就是用于根据不同的规则去对资源限定访问的slot。原创 2021-07-18 20:40:09 · 1063 阅读 · 5 评论 -
SpringCloud整合Feign配置类之间的关系以及feign配置隔离的实现
SpringCloud整合Feign有多个配置类,因为其中SpringCloud和整合Feign的同时还需要把Ribbon整合进来,包括Feign的一些自身组件的配置更换等,下面我们先来把这些配置类梳理一下关于springcloud整合feign相关的配置类如上图所示,这些类都是为springcloud整合feign的时候所准备的,我们去springcloud-feign包下面的spring.factories文件看一下其中前面两个配置类是我们常用的,首先先来看一下FeignAut..原创 2021-07-05 10:09:48 · 2216 阅读 · 2 评论 -
微服务调用组件Ribbon底层调用流程分析
Ribbon调用整体流程在从源码底层去分析其实现原理之前,我们首先要知道Ribbon在工作过程中是怎样的一个流程,如下图:相信用过Ribbin的同学(Feign底层也是封装的Ribbon)都知道Ribbon是一个用于客户端的服务发现负载均衡的调用组件,我们的服务提供者在启动的时候会主动向注册中心nacos(这里用nacos举例)去注册自己的信息,然后服务消费者通过加了@LoadBalance注解的RestTemplate组件向服务提供者发送调用请求,此时ribbon会解析这个host为服务名的.原创 2020-09-23 21:25:55 · 1018 阅读 · 0 评论 -
Idea搭建SpringCloud(四)------利用Feign实现负载均衡
为什么会出现Feign?负载均衡之前不是有Ribbon了吗?我们之前实现的负载均衡是使用的Ribbon+RestTemplate,在controller中使用RestTemplate根据url去访问服务提供者,而通常我们是在controller中调用我们声明好的service实例去调用我们的逻辑,这样就不符合我们平时面向编程的规范了,所以feign的出现就是解决这个规范问题的。我们还是基于...原创 2019-04-26 23:56:14 · 840 阅读 · 0 评论 -
Idea搭建springcloud(一)---服务注册与发现之Eureka
对于一个springcloud项目来说,首先第一步就是要构建服务注册中心,什么是服务注册中心?形象地说就是每一个微服务都要先到这里注册,表明自己是一个微服务才能让springcloud给你暴露出去。springcloud已经给出了微服务架构搭建的所有组件,其中Eureka就是在springcloud中作为服务注册中心来使用。构建Eureka Server建立一个maven父工程一直...原创 2019-03-12 23:48:37 · 2686 阅读 · 0 评论 -
Idea搭建SpringCloud(三)------Ribbon实现负载均衡及其自定义算法策略
SpringCloud中提供了一个组件Ribbon,Spring Cloud Ribbon是一个基于Http和TCP的客服端负载均衡工具,它是基于Netflix Ribbon实现的。对于SpringCloud来说为什么要实现负载均衡?负载均衡对于集群或者是分布式来说都是一种常见的手段用于减轻服务器压力,并不单单针对于微服务,而在另外的一套分布式架构Zookeeper,Dubbo,常用的软负载均...原创 2019-03-16 17:16:42 · 1168 阅读 · 1 评论 -
Springcould(二)之搭建服务注册中心Eureka集群
为了实现服务注册中心Eureka的高可用,我们通常会把Eureka搭建成一个集群,这样,当一台Eureka宕机后会使得注册进它里面的服务提供者都能正常被访问到,从而实现高可用。上一篇文章中讲述了搭建一个单机版的Eureka,继续上一篇中的工程,新建两个module,eureka-server-7002和eureka-server-7003,修改7001,7002和7003的applicatio...原创 2019-03-14 23:50:09 · 288 阅读 · 0 评论