赞
踩
服务注册与发现的组件。Spring Cloud Eureka是Spring Cloud Netflix微服务套件中的一部分,它基于Netflix Eureka做了二次封装。主要负责完成微服务架构中的服务治理功能。
创建SpringBoot工程,取名:spring-cloud-eureka-server,作为服务注册中心,
在pom.xml中添加依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
在项目启动类上添加注解@EnableEurekaServer
@EnableEurekaServer
@SpringBootApplication
public class SpringCloudEurekaServerApplication {
public static void main(String[] args) {
SpringApplication.run(SpringCloudEurekaServerApplication.class, args);
}
}
#指定端口号
server.port=7070
#项目名称
spring.application.name=spring-cloud-eureka-server
#服务注册中心地址
eureka.client.serviceUrl.defaultZone=http://localhost:7070/eureka
#是否向服务注册中心注册自己
eureka.client.register-with-eureka=false
#是否检索服务
eureka.client.fetch-registry=false
创建SpringBoot工程,取名:spring-cloud-provider-server,作为服务提供者
1、在pom文件中引入依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
2、application.properties增加配置
server.port=6060
spring.application.name=spring-cloud-provider-service
#eureka服务注册中心地址
eureka.client.service-url.defaultZone=http://localhost:7070/eureka
3、提供服务接口
@RestController
public class ProviderController {
@Value("${server.port}")
private int port;
@RequestMapping("/user")
public String getOrdersById(){
return "provider port = "+port;
}
}
这个还是基于ribbon和OpenFeign的使用上,和之前的项目相比,只需要添加依赖,并在application.properties将服务配置列表改为Eureka的配置地址即可
pom.xml
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
application.properties
server.port=9090
spring.application.name=spring-cloud-consumer-service
#eureka服务注册中心地址
eureka.client.service-url.defaultZone=http://localhost:7070/eureka
启动服务注册中心,服务提供者及服务消费者,其中服务提供者启动两个不同的端口,模拟负载均衡。
输入网址:http://localhost:9090/test/1,每点击一次,端口号6060和6061交替返回,原理是ribbon的默认轮询机制,上篇文章有讲到。
输入:http://localhost:7070/,可以看到Eureka的面板
参考文章
1.Spring Cloud Eureka详解
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。