序言
上一篇我们已经介绍了如何像Eureka内注册服务;如果您还没有阅读,请在阅读《SpringCloud-服务注册》一文这样能进一步了解接下的内容!
实现服务消费
1. pom文件
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
<version>2.0.1.RELEASE</version>
</dependency>
</dependencies>
2. yml配置
server:
port: 8083
spring:
application:
name: consumer
eureka:
instance:
hostname: localhost
client:
register-with-eureka: true # 注册服务的时候使用服务的ip地址
fetch-registry: true
service-url:
defaultZone: http://${eureka.instance.hostname}:8081/eureka/
注:
本次小编将注册中心的server.port:改为8081,将register 项目sever.port:改为8082,这里需要注意一下
3. 服务调用
//服务调用者
@RestController
public class TestController {
@Autowired
private RestTemplate restTemplate;
@GetMapping(value = "getRegister")
public String getRegister(){
String url = "http://register/getTest";
String result = restTemplate.getForObject(url, String.class);
return result;
}
}
//服务生产者,这里为了区别调用,加上了端口号
@RestController
public class TestApi {
@Value(value = "${server.port}")
private String port;
@GetMapping(value = "getTest")
public String getApi(){
return "恭喜您服务调用成功"+port;
}
}
4. 服务调用
步骤:
1、启动eureka项目;
2、启动register项目;
3、启动consumer项目;
4、访问:localhost:8083/getRegister
效果如上图,大家可以发现我访问8083端口时,调用的是8082端口的服务,这就说明我们已经发现服务,并实现了远程RPC调用;
下篇我们将为大家讲解高可用Eureka的实现,希望可以给大家带来一些帮助,也希望大家转发并点赞!
小编寄语
小编创建了一个关于Java学习讨论的微信群!想进去的可以联系小编!同时也欢迎大家点赞与转发!
小编微信:372787553
备注为进群,通过后小编会邀请您进群!同时欢迎关注我们的公众号号!