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