Eureka依赖配置

在使用Eureka时,分为服务端配置和用户端配置

1.服务端配置:

1.1yml文件配置

server:
  port: 7001

eureka:
  client:
    #表示是否将自己注册到Eureka-Server中,默认true
    register-with-eureka: false
    #false表示自己端就是注册中心,职责就是维护服务实例,并不需要去检索服务
    fetch-registry: false
    #设置注册中心的地址,注意加空格,访问地址localhost:7001
    service-url:
      defaultZone: http://localhost:${server.port}/eureka/

    server:
      # 是否启用自我保护机制
      enable-self-preservation: false
      

1.2 maven依赖


<properties>
	<spring-cloud.version>Finchley.SR4</spring-cloud.version>
</properties>

 <dependency>
 	<groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>


<dependencyManagement>
	<dependencies>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>${spring-cloud.version}</version>
            <type>pom</type>
            <scope>import</scope>
		</dependency>
	</dependencies>
</dependencyManagement>

1.3启动类添加注解

@SpringBootApplication
@EnableEurekaServer //启用Eureka服务器
public class CloudEureka7001Application {

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

}

2.用户端配置

2.1yml文件配置(注册端)

server:
  port: 8001

spring:
  application:
    # 应用名,在Erueka注册中心显示的服务名
    name: user-provider

eureka:
  client:
    #表示是否将自己注册到Eureka-Server中,默认true
    register-with-eureka: true
    #false表示自己端就是注册中心,职责就是维护服务实例,并不需要去检索服务
    fetch-registry: false

    #设置注册中心的地址,注意加空格,访问地址localhost:7001
    service-url:
      defaultZone: http://127.0.0.1:7001/eureka/

  # 在Eureka中注册的实例名称
  instance:
    instance-id: user-provider:8001

2.2yml文件配置(调用端)

server:
  port: 8080
eureka:
  client:
    # 配置是否将自己注册到Eureka-Server中
    register-with-eureka: false
    # 获取服务提供者的地址信息
    fetch-registry: true
    # 配置eureka地址,获取服务用
    service-url:
      defaultZone: http://127.0.0.1:7001/eureka/
spring:
  application:
    name: user-consumer

# feign调用超时时间配置
#feign:
#  client:
#    config:
#      default:
#        connectTimeout: 10000
#        readTimeout: 600000

2.3maven依赖

<properties>
	<spring-cloud.version>Finchley.SR4</spring-cloud.version>
</properties>

 <dependency>
 	<groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
<dependencyManagement>
	<dependencies>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>${spring-cloud.version}</version>
            <type>pom</type>
            <scope>import</scope>
		</dependency>
	</dependencies>
</dependencyManagement>

2.4注册服务添加注解

@SpringBootApplication
@EnableEurekaClient //启用Eureka 客户端,注册服务端
public class CloudProvider8001Application {
    public static void main(String[] args) {
        SpringApplication.run(CloudProvider8001Application.class, args);
    }
}

2.5调用服务添加注解

@SpringBootApplication
// 启用Eureka客户端,调用服务端
@EnableEurekaClient
// 启用Feign客户端,扫描指定包下所有Feign注解
@EnableFeignClients(basePackages = "com.itany.service")
public class CloudConsumer8080Application {
    public static void main(String[] args) {
        SpringApplication.run(CloudConsumer8080Application.class, args);
    }
}
// 调用的是服务名,到Eureka中查找对应的服务名,找到的是微服务的ip:端口
// 即调用配置中的http://localhost:7001/eureka/获取到的配置的user-provider对应的服务地址http://localhost:8001
@FeignClient(value = "user-provider")
// 注入Service
@Service
public interface UserService {
    @GetMapping("/users")
    public ResponseResult getUserList();
}

3.问题记录

1.用户端访问Eureka服务时超时或502错误时,检查网络是否有限制(我用的公司内网访问受限,切换热点后连接正常)
在这里插入图片描述
在这里插入图片描述
优先排查端口、网络等本地配置

### 关于Spring Cloud Eureka依赖配置及使用方法 #### 一、引入Eureka客户端依赖 为了使应用程序能够作为服务提供者或者服务消费者参与到基于Eureka的服务治理体系之中,在构建工具(如Maven或Gradle)中的`pom.xml`文件里加入如下所示的依赖项[^3]: 对于Maven项目而言,应添加以下代码片段来声明所需的库版本以及导入必要的组件。 ```xml <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> ``` 此依赖会自动拉取并设置好所有必需的基础结构和服务端口等参数,从而简化开发流程。 #### 二、配置application.yml/properties文件 完成上述操作之后,则需进一步调整项目的配置文件(application.yml 或 application.properties),以便指定该实例连接至哪个Eureka Server地址以及其他一些重要的属性设定。例如: ```yaml eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/ server: port: ${PORT:8080} ``` 这段YAML格式的内容指定了本机运行的一个默认注册中心URL路径,默认监听端口号设为8080;当然也可以通过环境变量的形式动态改变实际使用的端口编号。 #### 三、启动类注解说明 最后一步就是在主程序入口处即@SpringBootApplication所在的Java源码顶部加上@EnableEurekaClient这样的自定义元数据标签,它用来表明当前工程愿意成为受管对象之一,并允许其被纳入到整个分布式系统的管理范畴之内。 ```java import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.EnableEurekaClient; @SpringBootApplication @EnableEurekaClient public class Application { public static void main(String[] args){ SpringApplication.run(Application.class, args); } } ``` 以上就是有关如何在Spring Boot环境中正确安装部署Eureka Client所需执行的主要步骤概述[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值