
Spring Cloud
文章平均质量分 91
我要做个有钱人2020
这个作者很懒,什么都没留下…
展开
-
深入剖析Spring WebFlux:从MethodHandler到反射获取请求信息的源码之旅
WebFlux环境,通过分析WebFlux核心程序,用以得到,如何拦截请求,以获取请求处理信息、请求url变量、响应结果数据。原创 2024-03-31 12:34:54 · 1120 阅读 · 0 评论 -
Reactive Feign源码深度剖析:基于动态代理的Feign接口封装处理全解析
该篇博文,主要通过源码分析方式,介绍Reactive Feign接口,底层封装过程,并借此解答上一篇博文一文读懂Reactive Feign:底层请求调用原理及实现细节提及的部分源码类的串联过程。Feign接口,在Spring环境中,被代理成哪个Bean,进行实际使用。Feign接口代理类,内部封装逻辑。Feign请求,数据流转方式。通过EnableFeignClients注解,开启Reactive Feign功能。原创 2024-03-30 11:08:10 · 1238 阅读 · 0 评论 -
一文读懂Reactive Feign:底层请求调用原理及实现细节
文章目录@[TOC](文章目录)前言概述二、问题原因分析三、问题解决总结前言最近在编写调度框架,构思引入一个类型为"远程服务调用"的调度任务,该任务,主要用于实现远程服务 + 微服务请求调用。任务内容,大体分为两部分,第一部分,通过读取调度配置信息,获取远程服务请求信息后,进行请求调用;另一部分,通过取号服务,获取分布式序号,唯一标识调度结果,并存储。系统基于WebFlux搭建,于是选择Reactive Feign + WebClient,进行服务调用。概述基于该调度任务的定位,自然而然,引入原创 2024-03-30 00:19:48 · 1583 阅读 · 1 评论 -
Spring Cloud Sleuth系列(1) — Sleuth环境搭建以及Feign整合调用分析
Sleuth环境搭建以及Feign整合调用分析原创 2022-10-20 21:55:44 · 1366 阅读 · 1 评论 -
Spring Cloud Gateway获取认证用户信息
Spring Cloud Gateway与Spring Security集成。原创 2022-09-26 19:37:20 · 4170 阅读 · 2 评论 -
模拟FeignClient实现接口代理注册配置
前言在上一篇博文中,介绍了Spring Cloud如何为FeignClient生成代理类,并配置成Bean。该博文将参照FeignClient,实现接口代理并注册配置成Bean。代码目录层次介绍代码整体目录层次如下,参照FeignClient注册体系实现,即通过EnableDefinition引入DefinitionBeanRegister,从而开启标记DefinitionAnno接口的扫描。DefinitionClientFactoryBean,用于收集DefinitionAnno注解的相关信息,并原创 2021-05-16 09:51:04 · 553 阅读 · 1 评论 -
FeignClient代理类创建过程分析
前言基于Feign进行微服务调用时,我们只需要定义一个接口,在加上一些注解,即可。在使用过程中,代码隐式的为我们针对于接口生成了代理类,让我们只需关心业务处理。那么FeignClient代理类是如何生成的呢?本篇博文将进行解答。一、Feign使用日常我们大致通过如下方式,基于FeignClient注解,进行微服务请求。基于FeignClient注解,Spring Cloud会我们生成该接口的代理类,从而基于类似声明式方式,进行服务请求。@FeignClient(name = "quelongjian原创 2021-05-15 20:48:58 · 769 阅读 · 1 评论 -
Hystrix Dashboard监控源码分析
Hystrix Dashboard监控前言一、开启Hystrix Dashboard1、添加依赖2、配置项3、配置类4、成品展示二、Hystrix Dashboard源码分析1、ServletEndpointRegistrar装配2、端点注册3、hystrix.stream端点分析4、hystrix.stream请求分析总结前言本篇博文,从源码层次,分析Hystrix Dashboard如何进行Hystrix监控,进而加深Hystrix Dashboard理解。一、开启Hystrix Dashboar原创 2021-05-12 22:02:39 · 570 阅读 · 1 评论 -
Feign源码分析(一)、FeignClient创建过程
FeignClient创建过程该博文为Feign源码分析系列博文中的第一篇,主要介绍如下内容Feign所涉及的相关配置类Feign工厂类的创建过程。如何通过Feign工厂类,基于动态代理,创建Feign Client。文章目录FeignClient创建过程前言一、相关配置类介绍FeignRibbonClientAutoConfigurationFeignAutoConfiguration二、FeignClientFactoryBean创建过程分析1.引入库三、Feign Client创建过程分原创 2020-12-05 21:51:42 · 851 阅读 · 0 评论 -
Ribbon与Eureka整合分析(四)、客户端配置延迟加载和启用饥饿加载
客户端配置延迟加载和启用饥饿加载该博文为Ribbon与Eureka整合分析系列文章中的第四篇,主要介绍客户端所需配置,默认情况下,如何在创建客户端时,才加载配置,以及如何在启动时,加载客户端配置(即饥饿加载)。文章目录客户端配置延迟加载和启用饥饿加载一、客户端配置加载二、客户端饥饿加载总结一、客户端配置加载最近在调试和研究Ribbon源码的时候,发现,客户端所需配置,默认情况下,并不是随着容器启动而加载,而是在使用时(请求经过LoadBalancerInterceptor拦截器处理),才进行加载。之原创 2020-12-01 17:37:23 · 651 阅读 · 0 评论 -
Ribbon与Eureka整合分析(三)、自定义配置与请求调用
自定义配置与请求调用该博文为Ribbon与Eureka整合分析系列文章中的第三篇,主要介绍如何针对特定客户端,进行独立配置以及如何使用Ribbon完成请求处理。文章目录自定义配置与请求调用一、自定义配置1、默认配置2、如何进行全局配置?3、如何针对指定客户端进行配置?二、请求处理总结一、自定义配置1、默认配置通过前面两篇博文的介绍,可以发现,Ribbon与Eureka整合后,Spring针对于ILoadBalancer、IPing、IRule、ServerList、ServerListFilter原创 2020-12-01 10:29:08 · 550 阅读 · 0 评论 -
Ribbon与Eureka整合分析(二)、服务过滤与负载均衡算法
服务过滤与负载均衡算法该博文为Ribbon与Eureka整合分析系列文章中的第二篇,主要分析服务过滤以及负载均衡算法。文章目录服务过滤与负载均衡算法一、服务实例过滤二、负载均衡算法总结一、服务实例过滤在上一篇博文,介绍了在DynamicServerListLoadBalancer构造方法中,通过DiscoveryEnabledNIWSServerList从eureka处拉取服务实例。获取服务实例后,紧接着,Ribbon通过ServerListFilter接口,完成服务实例过滤操作。ServerLi原创 2020-11-30 23:27:45 · 384 阅读 · 0 评论 -
Ribbon与Eureka整合分析(一)、服务实例数据获取以及更新
服务实例数据获取以及更新该文为Ribbon与Eureka整合源码分析系列博文的第一篇,主要解答如下问题:基于哪些配置类,完成整套操作?如何从Eureka处,获取服务实例?拉取的服务实例,如何动态同步其状态?文章目录服务实例数据获取以及更新一、使用哪些配置类?RibbonEurekaAutoConfiguration配置类RibbonAutoConfiguration配置类二、如何从Eureka处获取服务?1.三、如何更新服务实例总结一、使用哪些配置类?RibbonEurekaAutoCon原创 2020-11-30 16:12:34 · 1429 阅读 · 0 评论 -
Eureka Server源码分析一——走进Eureka 注册中心
走进Eureka 注册中心1、简介2、源码分析2.1 开启自动配置2.2 注册操作初步分析2.3 与Eureka对接2.3.1 Eureka侧PeerAwareInstanceRegistry注入2.3.2 Spring侧PeerAwareInstanceRegistry注入2.3.3 initEurekaServerContext方法调用3、运行注册中心1、简介Eureka Server,也称为服务注册中心。通过接收Eureka Client发送的注册请求,保存客户端注册信息。同时,将超时未接收到续约原创 2020-09-10 11:11:06 · 193 阅读 · 0 评论 -
Eureka Client源码分析
Eureka Client源码分析前言一、Eureka Client是什么二、Eureka Client功能1 服务注册1.1 功能介绍1.2 源码分析2 服务续约2.1 功能介绍2.2 源码分析3 心跳检查3.3 功能介绍3.4 源码分析4 更新服务缓存4.1 功能介绍4.2 源码分析5 为什么注册服务很慢三、Demo前言本博文基于1.4.5.RELEASE的spring-cloud-starter-eureka版本进行的Eureka源码分析。Spring Cloud高阶版本相对于低版本,其内部处理和原创 2020-08-30 12:19:25 · 391 阅读 · 0 评论 -
Eureka源码分析一 -- 服务注册
文章目录一、meta-data信息收集二、DiscoveryClient创建。三、服务注册。一、meta-data信息收集When a client registers with Eureka, it provides meta-data about itself — such as host, port, health indicator URL, home page, and other details. Eureka receives heartbeat messages from each i原创 2020-08-20 13:44:18 · 335 阅读 · 0 评论 -
Eureka源码分析一 -- 自动配置开启
最近通过Spring Cloud官网帮助手册(Greenwich.SR5版本),重温Eureka时,发现一个有趣的现象。在官网描述中,只需引入spring-cloud-starter-netflix-eureka-client依赖,就会自动开启服务注册功能。但在刚开始学习Eureka时,需要在启动类上,通过@EnableDiscoveryClient来开启服务注册功能。于是有了一个疑问,为什么Greenwich.SR5版本的帮助手册,给出的demo,不在使用@EnableDiscoveryClient原创 2020-08-16 15:10:54 · 238 阅读 · 0 评论