本案例来自于spring官网:http://spring.io/guides/gs/service-registration-and-discovery/ JDK要求1.8或以上版本。
首先创建两个项目,eureka-service和eureka-client。 eureka-server作为eureka的服务端,提供注册服务,eureka-client作为eureka的客户端,属于一个应用,注册到eureka注册中心。
eureka-service的配置文件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-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>eureka-service</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.3.5.RELEASE</version> <!--配合spring cloud版本--> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <!--设置字符编码及java版本--> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.8</java.version> </properties> <dependencies> <!--增加eureka-server的依赖--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka-server</artifactId> </dependency> <!--用于测试的,本例可省略--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <!--依赖管理,用于管理spring-cloud的依赖--> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-parent</artifactId> <version>Brixton.SR3</version> <!--官网为Angel.SR4版本,但是我使用的时候总是报错--> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <!--使用该插件打包--> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
eureka-service项目中创建包,自定,本例为:com.spring 在该包下创建类用于启动服务EurekaServiceApplication.Java
package com.spring; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; @EnableEurekaServer //开启eureka服务 @SpringBootApplication //springBoot注解,spring在springBoot基础之上来构建项目 public class EurekaServiceApplication { //spirng boot的标准入口 public static void main(String[] args) { SpringApplication.run(EurekaServiceApplication.class, args); } }
关于eureka-service的配置文件 applicaiton.yml 或者使用application.properties,两者格式不同。 application.yml
server: port: 8761 #指定服务端口 eureka: client: registerWithEureka: false #是否将eureka自身作为应用注册到eureka注册中心 fetchRegistry: false #为true时,可以启动,但报异常:Cannot execute request on any known server
简单的eureka-service就写好了,运行下EurekaServiceApplication.java 访问:http://localhost:8761/
关于eureks-client 的pom.xml文件如下,因为不提供其他服务,这里基本与eureka-service一样:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.huawei.it</groupId> <artifactId>eureka-client</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.3.5.RELEASE</version> <relativePath/> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.8</java.version> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-parent</artifactId> <version>Brixton.SR3</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <!--此处是差异所在--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
同样创建入口类EurekaClientApplication.java
package com.spring; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.ServiceInstance; import org.springframework.cloud.client.discovery.DiscoveryClient; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * @author Administrator * */ @EnableDiscoveryClient //通过该注解,实现服务发现,注册 @SpringBootApplication public class EurekaClientApplication { public static void main(String[] args) { SpringApplication.run(EurekaClientApplication.class, args); } } @RestController class ServiceInstanceRestController { @Autowired private DiscoveryClient discoveryClient; @RequestMapping("/service-instances/{applicationName}") public List<ServiceInstance> serviceInstancesByApplicationName( @PathVariable String applicationName) { return this.discoveryClient.getInstances(applicationName); } @RequestMapping("/") public String sayhello() { return "hello"; } }
关于eureka-client的配置文件bootstrap.yml和application.yml, bootstrap.yml先于application.yml加载,一般不变的东西卸载bootstrap里,使用一样: application.yml
server: port: 7070 spring: application: name: cloud-client #为你的应用起个名字,该名字将注册到eureka注册中心
好了,现在启动eureka-client,再次访问http://localhost:8761,可能需要等一会
访问http://localhost:7070/service-instances/cloud-client/,这里我把应用名改了 会出现关于应用的信息:
这里因为两个都部署在同一台机器上,所以可以直接发现服务,并注册,如果在不同的机器上不部署,application.yml配置中需要加上eureka的地址如,多个eureka服务地址,可以用,号隔开:
eureka: client: serviceUrl: defaultZone: http://${eureka-serviceIP}:8761/eureka/
您还没有登录,请您登录后再发表评论
本资料《基于Spring-Cloud的微服务架构》将通过实际案例,详细讲解如何搭建Spring-Cloud微服务架构,包括服务的创建、注册、调用、监控等方面,帮助开发者从理论到实践,全面掌握Spring-Cloud在微服务中的应用。...
首先,我们来看 `Eureka`,它是Spring Cloud中的服务注册与发现组件。Eureka Server 作为服务注册中心,各个服务启动后会向Eureka Server 注册自己的服务信息,服务消费者可以通过Eureka Server 获取到服务提供者的...
一、Eureka:服务注册与发现 Eureka是Spring Cloud中的服务治理中心,它负责服务的注册与发现。服务提供者启动后会向Eureka Server注册自己的服务信息,而服务消费者则通过Eureka获取服务提供者的地址,实现服务间...
Spring Cloud 是一个基于 Spring Boot 实现的云应用开发工具,它为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态)中...
《从零到一搭建一个SpringCloud2.0项目》的案例代码是针对SpringCloud初学者设计的,旨在帮助他们理解并实践SpringCloud的基础架构和核心组件。SpringCloud作为一个微服务框架,提供了许多服务发现、配置中心、负载...
1. **服务发现**:Spring Cloud Eureka是核心组件之一,它作为服务注册与发现的中心,使得服务消费者可以动态查找服务提供者的位置,实现服务间的通信。在"spring-cloud-demo2"中,每个服务实例启动时都会向Eureka...
- eurekaserve 服务注册模块 - api-gateway 路由模块 - server-bi 业务service - servcie-system 系统service - hystrixdashboard hystrix监控service 无需注册 # 注册中心 - [原版官网]...
- **Nacos**: 提供服务注册与发现、配置中心、动态配置、健康检查等功能,是Spring Cloud Alibaba的基础组件。 - **Sentinel**: 一个强大的流量控制、熔断、降级组件,确保系统的稳定性和可用性。 - **Seata**: ...
《SpringBoot与SpringCloud整合Eureka服务注册中心详解》 在现代微服务架构中,服务发现和服务治理扮演着至关重要的角色。SpringCloud作为一套微服务解决方案,提供了丰富的工具集,其中包括Eureka,它是Netflix...
在本实战案例中,我们将深入探讨SpringCloud Eureka在服务注册与发现中的应用。Eureka是Netflix开源的一个组件,主要用于微服务架构中的服务治理,它实现了服务注册与发现的功能,帮助服务之间进行通信。 首先,...
- **服务注册与发现**:Eureka Server作为服务注册中心,各个服务启动后向Eureka Server注册自己,同时定期发送心跳以续约,Eureka Server根据这些信息维护服务实例列表,并提供服务发现能力。 - **自我保护模式**...
1. **Eureka服务发现**:Eureka是Spring Cloud中的服务注册与发现组件,它允许微服务之间互相发现并进行通信。在"spring-cloud-examples"中,你可以看到如何配置Eureka服务器以及如何在各个服务中实现客户端注册和...
Spring Cloud 是一个基于 Spring Boot 实现的云应用开发工具集,它为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态)...
本项目基于 Spring Cloud实现注册中心Eureka,服务调用者注册服务至Eureka注册中心,消费者可通过注册中心调用服务 适用于初学Spring Cloud,基于Spring Boot聚合工程,可以实现自己对Spring Cloud的理解,通过此...
通过以上分析可以看出,Spring Cloud为开发者提供了一套完整的微服务解决方案,不仅包括服务注册与发现、负载均衡、服务间调用等功能,还包括熔断器、API网关等高级特性。这些组件相互配合,可以极大地提高开发效率...
Spring Cloud 是一个基于 Spring Boot 实现的云原生应用开发工具,它为基于JVM的云原生应用开发中涉及的配置管理、服务发现、熔断器、智能路由、微代理、控制总线、分布式...SpringCloud 案例(Eureka、Ribbon、Zuul)
在本入门案例中,我们将深入探讨如何使用SpringBoot 2.2.5版本与最新的SpringCloud Hoxton.SR4构建微服务注册中心。SpringCloud是基于Spring Boot实现的一系列微服务开发工具集,它提供了诸如服务发现、配置管理、...
在SpringCloud中,Eureka作为服务注册与发现的中心,帮助各个微服务实例向中心注册自己的位置信息,其他服务通过Eureka获取到这些信息,从而进行服务之间的调用。 集成Eureka的基本步骤包括: 1. **添加依赖**:在`...
在微服务架构中,服务注册与发现是核心功能之一,Eureka作为服务注册中心,各个微服务启动时将自己的信息注册到Eureka Server,同时每个服务也会从Eureka Server中拉取获取注册的服务列表,从而实现服务之间的调用。...
3. **Spring Cloud Netflix Eureka**:Eureka 是服务注册与发现的组件,它允许微服务互相发现彼此。服务提供者注册到 Eureka 服务器,而服务消费者则通过 Eureka 获取服务提供者的地址,实现服务间的通信。 4. **...
相关推荐
本资料《基于Spring-Cloud的微服务架构》将通过实际案例,详细讲解如何搭建Spring-Cloud微服务架构,包括服务的创建、注册、调用、监控等方面,帮助开发者从理论到实践,全面掌握Spring-Cloud在微服务中的应用。...
首先,我们来看 `Eureka`,它是Spring Cloud中的服务注册与发现组件。Eureka Server 作为服务注册中心,各个服务启动后会向Eureka Server 注册自己的服务信息,服务消费者可以通过Eureka Server 获取到服务提供者的...
一、Eureka:服务注册与发现 Eureka是Spring Cloud中的服务治理中心,它负责服务的注册与发现。服务提供者启动后会向Eureka Server注册自己的服务信息,而服务消费者则通过Eureka获取服务提供者的地址,实现服务间...
Spring Cloud 是一个基于 Spring Boot 实现的云应用开发工具,它为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态)中...
《从零到一搭建一个SpringCloud2.0项目》的案例代码是针对SpringCloud初学者设计的,旨在帮助他们理解并实践SpringCloud的基础架构和核心组件。SpringCloud作为一个微服务框架,提供了许多服务发现、配置中心、负载...
1. **服务发现**:Spring Cloud Eureka是核心组件之一,它作为服务注册与发现的中心,使得服务消费者可以动态查找服务提供者的位置,实现服务间的通信。在"spring-cloud-demo2"中,每个服务实例启动时都会向Eureka...
- eurekaserve 服务注册模块 - api-gateway 路由模块 - server-bi 业务service - servcie-system 系统service - hystrixdashboard hystrix监控service 无需注册 # 注册中心 - [原版官网]...
- **Nacos**: 提供服务注册与发现、配置中心、动态配置、健康检查等功能,是Spring Cloud Alibaba的基础组件。 - **Sentinel**: 一个强大的流量控制、熔断、降级组件,确保系统的稳定性和可用性。 - **Seata**: ...
《SpringBoot与SpringCloud整合Eureka服务注册中心详解》 在现代微服务架构中,服务发现和服务治理扮演着至关重要的角色。SpringCloud作为一套微服务解决方案,提供了丰富的工具集,其中包括Eureka,它是Netflix...
在本实战案例中,我们将深入探讨SpringCloud Eureka在服务注册与发现中的应用。Eureka是Netflix开源的一个组件,主要用于微服务架构中的服务治理,它实现了服务注册与发现的功能,帮助服务之间进行通信。 首先,...
- **服务注册与发现**:Eureka Server作为服务注册中心,各个服务启动后向Eureka Server注册自己,同时定期发送心跳以续约,Eureka Server根据这些信息维护服务实例列表,并提供服务发现能力。 - **自我保护模式**...
1. **Eureka服务发现**:Eureka是Spring Cloud中的服务注册与发现组件,它允许微服务之间互相发现并进行通信。在"spring-cloud-examples"中,你可以看到如何配置Eureka服务器以及如何在各个服务中实现客户端注册和...
Spring Cloud 是一个基于 Spring Boot 实现的云应用开发工具集,它为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态)...
本项目基于 Spring Cloud实现注册中心Eureka,服务调用者注册服务至Eureka注册中心,消费者可通过注册中心调用服务 适用于初学Spring Cloud,基于Spring Boot聚合工程,可以实现自己对Spring Cloud的理解,通过此...
通过以上分析可以看出,Spring Cloud为开发者提供了一套完整的微服务解决方案,不仅包括服务注册与发现、负载均衡、服务间调用等功能,还包括熔断器、API网关等高级特性。这些组件相互配合,可以极大地提高开发效率...
Spring Cloud 是一个基于 Spring Boot 实现的云原生应用开发工具,它为基于JVM的云原生应用开发中涉及的配置管理、服务发现、熔断器、智能路由、微代理、控制总线、分布式...SpringCloud 案例(Eureka、Ribbon、Zuul)
在本入门案例中,我们将深入探讨如何使用SpringBoot 2.2.5版本与最新的SpringCloud Hoxton.SR4构建微服务注册中心。SpringCloud是基于Spring Boot实现的一系列微服务开发工具集,它提供了诸如服务发现、配置管理、...
在SpringCloud中,Eureka作为服务注册与发现的中心,帮助各个微服务实例向中心注册自己的位置信息,其他服务通过Eureka获取到这些信息,从而进行服务之间的调用。 集成Eureka的基本步骤包括: 1. **添加依赖**:在`...
在微服务架构中,服务注册与发现是核心功能之一,Eureka作为服务注册中心,各个微服务启动时将自己的信息注册到Eureka Server,同时每个服务也会从Eureka Server中拉取获取注册的服务列表,从而实现服务之间的调用。...
3. **Spring Cloud Netflix Eureka**:Eureka 是服务注册与发现的组件,它允许微服务互相发现彼此。服务提供者注册到 Eureka 服务器,而服务消费者则通过 Eureka 获取服务提供者的地址,实现服务间的通信。 4. **...