Spring Cloud(2020.0.3) | 从入门到入土 - 6. Eureka Client 注册到注册中心

上一篇我们将 Eureka Server 运行起来了,这一篇我们将之前的两个服务提供者注册到注册中心去。

一、微服务注册到注册中心配置

(我们就用 commodity 服务为例来进行说明,另外一个 order 服务自己去操作)

pom

我们需要在 pom 中引入 Eureka,但是这里我们引入的是 client,而不是 server !!!

<!-- Eureka Client -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>    

application.yml

我们在 yml 中配置 eureka 的注册地址,到时候服务启动的时候,直接通过配置找到 Eureka 地址,然后注册到注册中心。

eureka:
  instance:
    appname: microservice-commodity  # 客户端服务名
    instance-id: microservice-commodity-provider:1000 # 客户端实例名称
    ip-address: 127.0.0.1
    prefer-ip-address: true # 显示IP
  client: 
    service-url: 
      defaultZone: http://localhost:2000/eureka   # 把服务注册到eureka注册中心

appname:这个是我们服务的名称,这个相同的服务名称要保证一致(到时候服务变成集群,我们是通过这个名称来识别的)

instance-id:这个是实例 id,这个 id 我们要保证不一致,因为实例相同的话,我们是没有办法区分。

这里的这个 ip-address 指的是当前服务(也就是我们的商品模块的服务器地址)所在的物理机 ip。

最后一步,我们在启动类上加上一个注解 @EnableEurekaClient

@EnableEurekaClient
@SpringBootApplication
public class CommodityProviderApplication {

	public static void main(String[] args) {
		SpringApplication.run(CommodityProviderApplication.class, args);
	}
}

这样,我们一个服务就改造完成了。

二、启动商品服务

首先保证 Eureka Server 启动,然后我们启动商品模块。

接着我们去 Eureka 控制台可以看一下,很明显,我们这里多了一个东西,就是我们刚刚的商品模块服务

Application 就是我们配置的 eureka.instance.appname,这个一般就配置为我们的服务名称。

AMIs 是心跳机制。

Availability Zones:就是当前的实例数。我们这里只注册了一个商品服务,如果我们将商品服务弄成集群,我们以相同的实例名称注册到这个 Eureka 服务中后,那么我们这个实例数就会增加。

status 就是当前实例的状态,它下面有一个 UP,这个是值在线的实例数。接着后面的是我们服务的一个健康检查地址。我们可以点击一下。

这里可以看到是一个 404,这里 404 是因为我们没有引入健康检查,所以我们来引入 springboot 给我们带的健康检查。

三、引入健康检查

pom

<!-- actuator 健康检查 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

yml 配置文件

info:
  artifactId: $project.artifactId$
  author: 张三
  createDt: 2021-09-23

这里的 info 信息,到时候会以 JSON 的格式显示在页面上。

父项目 pom 修改

	<!-- 构建的时候 解析 src/main/resources 下的配置文件  其实就是application.yml 解析以$开头和结尾的信息 -->
	<build>
	    <finalName>microservice</finalName>
	    <resources>
	        <resource>
	            <directory>src/main/resources</directory>
	            <filtering>true</filtering>
	        </resource>
	    </resources>
	    <plugins>
	        <plugin>
	            <groupId>org.apache.maven.plugins</groupId>
	            <artifactId>maven-resources-plugin</artifactId>
	            <configuration>
	                <delimiters>
	                    <delimit>$</delimit>
	                </delimiters>
	            </configuration>
	        </plugin>
	    </plugins>
	</build>

我们在父项目(microservice)中进行定义,这样省的一个一个在子项目中再去定义了。这个是为了再构建的时候扫描子项目配置文件,解析配置用的。

重新启动项目,刷新页面。

这里我们健康检查就成功引入了。

四、eureka client 配置说明

ip-address: 127.0.0.1
prefer-ip-address: true # 显示IP

我们来看这两个东西,这个 ip 其实配置的是我们健康检查的地址,还有是否显示健康检查的地址。

现在我们是配置了的,我们来看一下配置的样子是什么样的。

可以看到,浏览器左下角的地址是这样的,我们删除掉这两段配置,再重新启动页面看一下。

可以看到,就变成随机乱码了,其实这样的随机乱码还有。。

如果我们将 appname 和 instance-id 的配置也删除了,那么 appname 和 instance-id 也会变成乱码的样子。(自己下去可以试试)

这一讲就讲到这里,有问题可以联系我:QQ 2100363119,欢迎大家访问我的个人网站:https://www.lemon1234.com

最近网站已经做好,并且已经上线,欢迎各位留言~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

他 他 = new 他()

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值