搭建Eureka服务:
引入依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
Application上添加注解 @EnableEurekaServer
@SpringBootApplication
@EnableEurekaServer
public class CloudEurekaApplication {
public static void main(String[] args) {
SpringApplication.run(CloudEurekaApplication.class, args);
}
}
yml文件的配置:
server:
port:8080
spring:
application:
name:bb-aa //服务名称
eureka:
client:
serviceUrl:
defaultZone: http:/192.168.22.33:7001/eureka/ //eureka服务地址
其他服务注册到Eureka,服务注册(服务提供者):
引入依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
Application上添加注解 @EnableEurekaClient注解
@SpringBootApplication
@EnableEurekaClient
public class CloudEurekaApplication {
public static void main(String[] args) {
SpringApplication.run(CloudEurekaApplication.class, args);
}
}
yml文件的配置:
server:
port:8081
spring:
application:
name:bb-bb //服务名称
eureka:
client:
serviceUrl:
defaultZone: http:/192.168.22.33:7001/eureka/ //eureka服务地址
其他服务注册到Eureka,服务注册(服务消费者):
同服务提供者
在resttemplate上添加@LoadBalanced注解
@Bean
@LoadBalanced
public RestTemplate restTemplate() {
return new RestTemplate();
}
调用的时候修改成服务名:(不需要ip地址,直接使用服务名称调用即可)
User user = restTemplate.getForObject("http://bb-aa/user",User.class);