在之前文章spring clound负载均衡之Ribbon(二)- 自动装配 中,介绍了ribbon自动装配的原理,这篇文章中将主要介绍在ribbon启动过程中,涉及到的重要类型。这些类型在ribbon中充当比较重要的作用。下面我们就一起来看看吧。 RibbonClientSpecification 该类作为ribbon配置类型存在,主要由spring-cloud提供,我们看下该类型的源码: /** * Specification with name and configuration. */ public int…

9月 25, 2021 0条评论 664点热度 0人点赞 阅读全文

在spring中,提供了@Qualifier注解,帮助我们精确的注入需要的bean实例。这边文章主要介绍该注解在spring开发中的两种使用方式,能够帮助我们优雅的实现代码。 首先开始学习时,先查看下该注解的源码,以及注解方式,然后再以demo的方式实现。 @Qualifier源码 /** * This annotation may be used on a field or parameter as a qualifier for * candidate beans when autowiring. It may…

9月 17, 2021 0条评论 684点热度 0人点赞 阅读全文

在之前的文章spring cloud负载均衡之ribbon—demo实现  通过demo的方式实现了ribbon的使用,在这个实例中,通过round robin的方法轮询访问远程依赖的服务列表,达到负载均衡的方式。在这边文章中,主要介绍ribbon自动装配的过程,以及在装配过程中比较重要的类型,让我们对ribbon有一个整体的设计概念,便于后面我们对ribbon的学习。 前情回顾 spring cloud负载均衡之ribbon—demo实现 中,我们在创建RestTemplate的时候, 使用了@LoadBalan…

9月 16, 2021 0条评论 484点热度 0人点赞 阅读全文

在微服务实现中,比较重要的一个组建就是负载均衡,主要是同一个服务又多实例时,为了能够将请求分发到不同的实例节点上, 负载均衡是一个比不可少的组件。在spring cloud eureka的实现中,默认使用了ribbon作为服务均衡的实现, 本篇文章主要是以demo的方式优先了解ribbon的一个具体的使用,然后才能更好的从源码角度分析ribbon的工作原理。 微服务准备 在该demo种,将会创建两个简单的服务,提供相同的接口,名称为spring-cloud-eureka-client-a 与spring-cloud…

9月 16, 2021 0条评论 477点热度 0人点赞 阅读全文

在之前章节中介绍了Eureka Server的启动流程,  该篇文章主要实现一个eureka server的简单demo, 便于在本地做调试。 创建项目 在本地中,创建一个maven项目, 具体的pom.xml配置如下: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instan…

9月 15, 2021 0条评论 398点热度 0人点赞 阅读全文

在之前章节spring cloud 服务发现之Eureka Client(三)—DiscoveryClient 中介绍了Eureka 客户端在启动过程中的流程,在DiscoveryClient启动过程中,会有两个重要的定时任务: 发送心跳信息 从EurekaServer同步注册实例节点 这篇文章就主要介绍这两个定时任务的执行逻辑以及从源码角度分析代码实现,能够更好的理解和使用Eureka。 心跳任务 之前章节中介绍了在DiscoveryClient实例化过程中,心跳任务TimedSupervisorTask开始执行…

9月 10, 2021 0条评论 490点热度 0人点赞 阅读全文

在上篇文章spring cloud 服务发现之Eureka Client(二)—自动装配中,介绍了Eureka Client自动装配的过程,其中设计到几个比较重要的类,包括ServiceRegistry, EurekaClient, EurekaDiscoveryClient类型。这些类型在Eureka Client整个生命周期中充当这比较重要的角色,在今天这章节中,将主要介绍DiscoveryClient对象,该对象主要包括了一下几个步骤: 注册当前实例 从eureka server中获取实例列表 心跳启动 类结…

9月 7, 2021 0条评论 512点热度 0人点赞 阅读全文

在项目开发中,在使用spring-boot时,有时会希望通过注解的方式,来控制装配的顺序。在查看源码过程中,发现有@AutoConfigureAfter与@AutoConfigureBefore两个注解能够实现。因此写两个DEMO实现功能用作测试。 注解区分 我初次使用时,让我产生了误区,具体装配执行顺序的,一下说明: @AutoConfigureBefore: 该注解的作用载体为当前Configuration类,配置在AutoConfigureBefore中的类,会比当前Configuration类后装配执行 @…

9月 6, 2021 0条评论 1124点热度 2人点赞 阅读全文

在spring cloud 服务发现之Eureka Client(一)—客户端配置DEMO章节中介绍了如何快速的启动一个Eureka Client, 并将当前服务信息注册到Eureka Server中。在这篇文章中,将主要介绍在Eureka Client自动状态的过程中,需要执行那些过程,那些类是在启动过程中比不可少了。 这篇文章中,主要介绍通用的使用过程,其他的装配过程基本类似。 EnableDiscoveryClient 该类作为通用的服务发现客户端的启用类,可以用作不同的服务发现组件。该类源码如下: @Tar…

9月 6, 2021 0条评论 421点热度 0人点赞 阅读全文

这篇文章主要通过DEMO的方式启动一个微服务,并将服务注册到Eureka Server. Eureka Server为本地启动的服务信息,可以通过之前的文章查看启动过程,以及启动原理。 POM配置 pom配置主要配置了启动需要的依赖包信息, 具体代码如下: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/200…

9月 4, 2021 0条评论 408点热度 0人点赞 阅读全文