提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
SpringCloud微服务之服务注册中心-Eureka的实现及使用
前言
springcloud技术栈分布图:

提示:以下是本篇文章正文内容,下面案例可供参考
一、Eureka是什么?
Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。
SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。
1.Eureka服务端
Eureka服务端,即服务注册中心。它同其他服务注册中心一样,支持高可用配置。依托于强一致性提供良好的服务实例可用性,可以应对多种不同的故障场景。
2.Eureka客户端
Eureka客户端,主要处理服务的注册和发现。
二、服务端配置
1.服务端引用eureka依赖
代码如下(示例):
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
2.服务端配置yml文件
代码如下(示例):
server:
port: 7001
eureka:
instance:
hostname: localhost
client:
#false标识注册中心不注册自己
register-with-eureka: false
#false表示自己端是注册中心
fetch-registry: false
#设置与server交互的地址查询服务和注册服务都需要依赖找个地址
service-url:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
3.服务端启动类加入注解@EnableEurekaServer
@SpringBootApplication
@EnableEurekaServer
public class EurekaMain {
public static void main(String[] args) {
SpringApplication.run(EurekaMain.class,args);
}
}
4.服务端启动
启动后,访问localhost:7001,看到下图则表示访问成功,可以看到目前还没有服务注册。

二、客户端配置
1.客户端引用eureka依赖
代码如下(示例):
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
2.客户端配置yml文件
代码如下(示例):
server:
port: 8001
spring:
application:
name: cloud-payment-service
eureka:
client:
register-with-eureka: true #是否向注册中心注册自己
fetchRegistry: true #是否从注册中心抓取已有的注册信息 默认true,集群必须设置为true
service-url:
# 设置与eureka server交互的地址查询服务和注册服务都需要依赖这个地址
defaultZone: http://localhost:7001/eureka
3.客户端启动类加入注解@EnableEurekaClient
@SpringBootApplication
@EnableEurekaClient
public class PaymentMain {
public static void main(String[] args) {
SpringApplication.run(PaymentMain.class,args);
}
}
4.客户端启动
启动后,刷新localhost:7001,如图表示注册中心发现服务,此服务名称是客户端yml文件中的name属性的名称,则表示配置成功。

总结
关于springcloud微服务的eureka的使用和配置就讲到这里,如果有需要其他微服务的技术需要,可以关注,后续会陆续更新所有技术的使用方式。
本文介绍了Eureka作为SpringCloud服务发现框架的角色,详细阐述了Eureka服务端和客户端的配置过程,包括依赖引入、YAML配置、启动类注解等,并展示了成功启动和注册服务的验证方法。

835

被折叠的 条评论
为什么被折叠?



