除了那些基本依赖,要添加:(旧版)
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka-server</artifactId> <version>1.4.0.RELEASE</version> </dependency>
不要忘记<version>,否则在intellij idea构建后里面会变成unknown,然后导入依赖失败。
注意,最新版本console提示spring-cloud-starter-eureka-server过期了,建议更换成:(新版)
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> <version>1.4.4.RELEASE</version> </dependency>
<dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Finchley.RC1</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
这个version是要根据
spring-boot-starter-parent
的版本而确定的
关键不要漏了:(所有的资料都没有提到需要配置这个,可能旧的版本是不需要的,但是新的版本没有是不行的)
<repositories> <repository> <id>spring-milestones</id> <name>Spring Milestones</name> <url>https://repo.spring.io/libs-milestone</url> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories>
之前一直缺少配置这个,导致一直报错,启动不了tomcat,按照spring.io里面的guide配置上这个就可以了。
参考官方的guide:https://projects.spring.io/spring-cloud/
一.server properties配置:
eureka.client.register-with-eureka=false eureka.client.fetch-registry=false
or yaml:
server: servlet: context-path: /demo port: 1111
client: register-with-eureka: false fetch-registry: false service-url: defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka*注意,最新版本的service url不是旧版的serviceUrl,而是service-url,defalutZone一样,不要写成其他格式,eureka只会识别这种,而且代码提示是不会显示的.
*这里配置错误的话,客户端是会一直注册失败的.
参考源码:https://github.com/spring-cloud/spring-cloud-netflix/blob/ab87e735adeb3875a03dc143e92a3fe2c958fd63/spring-cloud-netflix-eureka-client/src/main/java/org/springframework/cloud/netflix/eureka/EurekaClientConfigBean.java#L237
里面就定义了格式:
public static final String DEFAULT_ZONE = "defaultZone";
根据以上定义,打开server eureka的url: http://localhost:1111/demo,不是default zone的url
二.client配置:
除了基本的spring cloud依赖,还要:
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> <version>1.4.0.RELEASE</version> </dependency>
properties:
spring.application.name=hello-service server.servlet.context-path=/client server.port=8222 eureka.client.service-url.defaultZone=http://localhost:1111/demo/eureka
defaultZone要和server的一样,为什么有/demo,是因为server配置了context-path: /demo
同理,如果server也配置并使用了application-dev.yaml那么client的defaultZone就需要跟着更换端口等配置了
成功后可以在server 的eureka里面看到client项目.
注意事项:
因为依赖包较多,build起时可能出现找不到classpath的情况,只需要clean一下maven即可,如何在intellij里面clean maven可以参考另外一篇文章.
参考官方guide:https://spring.io/guides/gs/service-registration-and-discovery/
相关推荐
- 配置`application.yml`文件,设定Eureka服务器的基本信息,例如服务端口、服务实例名称、是否开启自我保护模式等。通常,你需要配置以下内容: ```yaml server: port: 8761 # Eureka Server端口 eureka: ...
2. **配置文件差异化**:为了区分不同节点,每个Eureka服务器的配置文件(如`application.yml`或`bootstrap.yml`)中需要有唯一的实例ID(`instanceId`)和不同的端口号,确保不会发生端口冲突。同时,它们需要配置...
9. **与其他Spring Cloud组件的集成**:Eureka Server可以很好地与Spring Cloud其他组件集成,如Zuul或Netflix Ribbon用于负载均衡,Hystrix用于断路器,Spring Cloud Config用于配置管理等。 10. **监控和管理**:...
SpringCloud Eureka是微服务架构中的关键组件,它作为一个服务注册与发现的工具,使得服务之间的调用变得简单。在最新版本2.x.x中,Eureka提供了更稳定、高效的特性来支持大规模分布式系统的构建。 首先,让我们...
在Spring Boot应用中,我们可以通过`application.yml`或`application.properties`配置Eureka的相关参数,如服务实例的名称、Eureka服务器的URL、服务心跳间隔等。 7. **Ribbon和Feign的使用**: Spring Cloud提供...
SpringCloud Eureka是Spring Cloud生态系统中的一个关键组件,主要用于实现服务发现。Eureka是一个基于REST的服务,用于定位运行在分布式系统中的服务,以达到高可用和容错的目的。本篇文章将深入Eureka的源码,帮助...
项目中包含的SpringCloud中文文档将为开发者提供详细的指导,帮助他们理解和使用这些组件。文档通常会涵盖安装配置、基本使用、高级特性以及最佳实践等内容,是学习和实施微服务架构的重要参考资料。 总之,Spring ...
### Spring Cloud Eureka 常用配置解析 #### 一、引言 Spring Cloud Eureka 是一个基于 REST 服务的分布式服务治理框架,主要用于服务发现与注册。它为微服务架构提供了一种易于实现的服务发现解决方案。在 Spring...
1. **初始化配置**:通过`org.springframework.cloud.netflix.eureka.server.EurekaServerAutoConfiguration`完成服务端的初始化配置。 2. **Peer Eureka节点处理**: - `peerEurekaNodes.start();`:启动Peer ...
1. **启动Eureka Server**:首先,我们需要配置并启动Eureka服务器。这可以通过创建一个Spring Boot应用,并添加`@EnableEurekaServer`注解来实现。Eureka Server会监听来自客户端的注册和心跳信息。 2. **配置...
Spring Cloud Eureka是Netflix公司开源的一个服务发现组件,它是基于REST的服务,用于在分布式系统中定位服务,以实现负载均衡和中间层服务器的故障转移。Eureka的设计目标是提供一种高效且可靠的“服务发现”机制,...
在Spring Boot项目中,我们需要引入Eureka客户端依赖,并配置Eureka服务器的地址。在`pom.xml`中添加Maven依赖: ```xml <groupId>org.springframework.cloud <artifactId>spring-cloud-starter-netflix-...
本文将围绕"springcloud-eureka-server.zip"这个项目,深入探讨SpringCloud Eureka Server的核心功能、配置优化以及实际应用。 一、Eureka Server概述 Eureka是Netflix开源的一个基于REST的服务,用于定位服务,以...
1. **Eureka Server**:Eureka服务器是Eureka的核心,它是一个分布式的服务注册表,每个服务实例都会向Eureka Server注册自己的信息,包括服务ID、IP地址、端口等。同时,Eureka Server也提供服务查询接口,供其他...
SpringCloud是微服务架构中的一个流行框架,它包含多个子项目,用于解决分布式系统中的服务发现、配置管理、熔断机制等问题。Eureka是SpringCloud生态中的一个关键组件,主要负责服务注册与发现。本教程将详细介绍...
在这个示例中,我们有 `springcloud-eureka` 和 `springcloud-eureka2` 两个 Eureka 服务器实例,它们共同构成了 Eureka 集群。这样做的目的是提高服务注册中心的高可用性,避免单点故障。配置时,每个 Eureka ...
**客户端组件**:Spring Cloud提供了Eureka Client,这是一个Java库,包含两个部分:一是服务注册,二是服务发现。服务注册部分负责将服务实例注册到Eureka Server,服务发现部分则负责从Eureka Server获取服务实例...
**Spring Cloud Eureka 入门指南** 在分布式系统中,服务发现是至关重要的一个环节,Spring Cloud Eureka 就是用来解决这一问题的组件。Eureka 是 Netflix 开源的一个基于 REST 的服务,它用于定位服务,以实现云端...
配置`spring.cloud.service-discovery.eureka.instance-id`为唯一的实例ID,以便Eureka集群识别。 7. **服务消费者发现** 同样创建一个服务消费者应用,通过Eureka Client发现并调用服务提供者。使用`@...
在微服务架构中,SpringCloud是一个非常流行的框架集合,它为开发者提供了构建分布式系统所需的工具,包括服务发现、配置管理、断路器、智能路由、微代理等。在这个项目中,我们关注的是SpringCloud Eureka、Zuul、...