SpringCloud服务注册Eureka
一.创建两个Eureka server
springcloud-eureka-server-cluster-9100
springcloud-eureka-server-cluster-9200
1添加依赖(创建项目时,勾选SpringWeb,Eureka Server)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eurekaserver</artifactId></dependency>
2.配置application.properties文件
#端口号
server.port=9100
#服务名
eureka.instance.hostname=eureka9100
#表示是否将自己注册到Eureka Server
eureka.client.register-with-eureka=false
#表示是否从Eureka Server获取注册的服务信息
eureka.client.fetch-registry=false
#指定注册中心的位置
eureka.client.service-url.defaultZone=http://localhost:9200/eureka
==================================================
#端口号
server.port=9200
#服务名
eureka.instance.hostname=eureka9200
#表示是否将自己注册到Eureka Server
eureka.client.register-with-eureka=false
#表示是否从Eureka Server获取注册的服务信息
eureka.client.fetch-registry=false
#指定注册中心的位置
eureka.client.service-url.defaultZone=http://localhost:9100/eureka
3.在启动类中添加注解(两个Eureka server)
@SpringBootApplication
@EnableEurekaServer
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
二.创建服务提供者
springcloud-eureka-client-cluster-provider
1.添加依赖(创建项目时,勾选SpringWeb,Eureka Discovery Client)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eurekaclient</artifactId>
</dependency>
2.配置application.properties文件
#端口号
server.port=8041
#应用程序名称
spring.application.name=springcloud-eureka-client-cluster-provider
#指定注册中心位置
eureka.client.service-url.defaultZone=http://localhost:9100/eureka/,http://localhost:9200/eureka/
3.编写控制器
@RestController
public class TestController {
@RequestMapping("/test")
public String test(){
return "集群模式的服务提供者";
}
}
4.启动类添加(@EnableEurekaClient)
三.创建服务消费者
springcloud-eureka-client-cluster-consumer、
1.添加依赖(创建项目时,勾选SpringWeb,Eureka Discovery Client)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eurekaserver</artifactId></dependency>
2.配置application.properties文件
server.port=8042
spring.application.name=springcloud-eureka-client-cluster-consumer
#指定注册中心的位置
eureka.client.service-url.defaultZone=http://localhost:9100/eureka/,http://localhost:9200/eureka/
3.编写Config
@Configuration
public class RestTemplateConfig {
@Bean
@LoadBalanced
public RestTemplate restTemplate(){
return new RestTemplate();
}
}
4.编写控制器
@RestController
public class TestController {
@Autowired
private RestTemplate restTemplate;
@RequestMapping("/test")
public String test(){
ResponseEntity<String> result = restTemplate.getForEntity("http://03-SPRINGCLOUD-EUREKA-CLIENT-CLUSTER-PROVIDER/test", String.class);
String body = result.getBody();
return "eureka集群中的服务调用者:"+body;
}
}
5.启动类添加 @EnableEurekaClient
四 访问我们的项目: http://localhost:8042/test