![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring cloud
文章平均质量分 76
诛仙89
11111
展开
-
Feign的面试
EnableFeignClients会引入一个FeignClientsRegistrar,他主要就是扫描@FeignClient注解的类,然后放到beanDefinition中。他会生成一个JDK代理,利用的核心invocation就是。原创 2023-10-10 16:45:12 · 296 阅读 · 0 评论 -
Nacos源码分析【临时节点】
作为后起之秀,Nacos基本要取代Eureka的位置,我没有在项目中使用过,只在本地跑了一下,处于好奇我想浅显的分析Nacos的实现,看看是否比Eureka更优秀官网图从图中可以看到,nacos似乎比eureka多了一致性协议,eureka是p2p,也就是非强一致性,貌似nacos解决了这个问题,nacos还有控制台,嗯这个确实更方便了一、服务注册1.1 客户端eureka是利用SmartLifeCycle接口的生命周期方法來完成调用的。nacos是利用的事件监听机制来触发的。都是固定的套路,原创 2021-03-28 21:26:34 · 1090 阅读 · 0 评论 -
Feign源码分析
feign主要围绕注解@FeignClient和@Autowired来分析就好了,@FeignClient是注解在一个接口上面的,这个注解是一个标志,相应的后置处理器把有该标志的类加入到bean defenition中。@Autowired是注入属性的,feign采用的是FactoryBean的方式进行创建的。下面开始详细分析一、注解FeignClient在使用feign的时候都要的配置类上加上EnableFeignClients,这个注解上面有个Import注解,这个很重要@Import(Feign原创 2021-03-22 21:33:26 · 187 阅读 · 0 评论 -
Ribbon源码分析
Ribbon和RestTemplate紧密的结合在一起,因此想分析Ribbon,必须要先分析RestTemplate。一、ClientHttpRequestRestTemplate在执行的时候需要封装request请求,这个请求谁都可以自定义,他的顶级接口是ClientHttpRequest本次的主角是InterceptingClientHttpRequest。改request里面有一个拦截器列表interceptors。if (this.iterator.hasNext()) { ClientH原创 2021-03-22 10:43:29 · 136 阅读 · 0 评论 -
eureka源码流程分析
这是euraka官网的架构图从上面图中可以看到eureka的功能服务注册服务续约服务下线服务同步远程调用一、服务注册这个服务提供者需需要把自己的实例注册到注册中心中(就相当于把自己的信息放到婚恋中心),这个时候必须考虑几个因素服务提供者怎么和注册中心通信注册中心如何保存信息eureka利用了一个和springMVC差不多的框架jersey1.X的版本是sun公司提供的独立的jar包,在2.X版本中,已经将jersey融合到JavaSE中,在javax.ws.rs.*包中原创 2021-03-18 17:31:44 · 299 阅读 · 0 评论 -
六、Spring cloud 的zuul路由网关
一、简介 Zuul的作用就是路由转发和过滤, 即将请求转发到微服务或拦截请求; Zuul默认集成了负载均衡功能。二、配置使用 2.1、pom文件 <!-- zuul路由网关 --> <dependency> <groupId>org.springframework.cloud&amp翻译 2018-06-27 22:28:25 · 224 阅读 · 0 评论 -
五、Spring cloud hystrixDashboard(豪猪)
一、简介Hystrix Dashboard,它主要用来实时监控Hystrix的各项指标信息。通过Hystrix Dashboard反馈的实时信息,可以帮助我们快速发现系统中存在的问题。下面通过一个例子来学习。二、监控微服务提供者 <!-- actuator监控信息完善 --> <dependency> <groupId>...翻译 2018-06-27 21:27:55 · 386 阅读 · 0 评论 -
七、spring cloud分布式统一配置
一、介绍简答来说就是把配置文件交给一个配置中心统一管理,这个配置中心从远程下载配置文件。二、统一配置中心微服务2.1、pom <!-- springCloud Config --> <dependency> <groupId>org.springframework.cloud</groupId> ...翻译 2018-07-01 19:36:13 · 204 阅读 · 0 评论 -
一、spring cloud
本文记录观看尚学堂spring cloud视频记录总结。 spring-cloud采用 Dalston.SR1 spring-boot采用 1.5.9.RELEASE 管理工具maven 数据库mysql一、微服务的注册和发现eurekaRegister:服务注册 当Eureka客户端向Eureka Server注册时,它提供自身的元数据,比如IP地址、...原创 2018-06-18 20:17:29 · 197 阅读 · 0 评论 -
四、Spring Cloud实现微服务- 熔断机制
1. 熔断机制介绍在介绍熔断机制之前,我们需要了解微服务的雪崩效应。在微服务架构中,微服务是完成一个单一的业务功能,这样做的好处是可以做到解耦,每个微服务可以独立演进。但是,一个应用可能会有多个微服务组成,微服务之间的数据交互通过远程过程调用完成。这就带来一个问题,假设微服务A调用微服务B和微服务C,微服务B和微服务C又调用其它的微服务,这就是所谓的“扇出”。如果扇出的链路上某个微服务的调用响...翻译 2018-06-23 23:24:07 · 1482 阅读 · 0 评论 -
三、Feign负载均衡
一、Feign简介Feign是一个声明式的Web服务客户端,使用Feign可使得Web服务客户端的写入更加方便。 Spring cloud已经使用Ribbon在客户端负载均衡,为什么还会有feign方式呢?Ribbon调用是基于url来调用的,而java是面向对象的语言,所以ribbon显得有点格格不入了,这也就是feign会出现的原因二、spring cloud结合Feign使用...翻译 2018-06-23 22:35:25 · 1729 阅读 · 2 评论 -
二、Rebbon负载均衡
一、什么是RibbonRibbon是Netflix公司开源的一个负载均衡的项目,它属于上述的第二种,是一个客户端负载均衡器,运行在客户端上。它是一个经过了云端测试的IPC库,可以很好地控制HTTP和TCP客户端的一些行为。 Feign已经默认使用了Ribbon。负载均衡容错多协议(HTTP,TCP,UDP)支持异步和反应模型缓存和批处理...翻译 2018-06-23 10:10:53 · 837 阅读 · 0 评论