一.提供者
1.新建一个Boot项目并导入如下依赖
2.配置
2.1启动类配置
@SpringBootApplication
@EnableEurekaClient
public class Demo04Application {
public static void main(String[] args) {
SpringApplication.run(Demo04Application.class, args);
}
}
2.2.application.properties文件配置
#配置端口,端口配置在同一个eureka中必须是唯一的否则会出现端口占用现象
server.port=8123
#配置服务名称,服务名称可以任意定义,但是在同一个eureka中必须是唯一的
spring.application.name=spring-cloud-demo01
#将此服务配置到eureka中此链接就是【SpringCloud入门02中所配置的eureka访问地址】
eureka.client.serviceUrl.defaultZone=http://localhost:8763/eureka/
3.运行此项目
运行后如果可以在eureka中看到服务就说明配置成功如图
4.准备
为了下一步的消费者验证在启动类中编写如下
@SpringBootApplication
@EnableEurekaClient
@RestController
public class Demo04Application {
public static void main(String[] args) {
SpringApplication.run(Demo04Application.class, args);
}
@GetMapping("/test/{str}")
public String test(@PathVariable("str")String str){
return "你好我是提供者,我们已建立沟通,验证信息为:"+str;
}
}
二.消费者
消费者与提供者同是微服务,只不过根据他们的作用与职责不同有着不同的别称,提供者说白了就是提供信息或数据的微服务,比如提供数据库信息,第三方接口信息等,而消费者则是对提供者所提供的信息数据等做逻辑操作或者业务操作。
1.项目配置
1.1新建一个springBoot项目
并导入相关依赖
1.2启动类配置
@SpringBootApplication
@EnableEurekaClient
@EnableFeignClients
public class Demo05Application {
public static void main(String[] args) {
SpringApplication.run(Demo05Application.class, args);
}
}
1.3application.properties配置
#配置端口
server.port=8124
#配置服务名称
spring.application.name=spring-cloud-demo06
#将此服务配置到eureka中
eureka.client.serviceUrl.defaultZone=http://localhost:8763/eureka/
#配置Feign
#连接超时
feign.client.config.feignName.connect-timeout=5000
#读取超时
feign.client.config.feignName.read-timeout=5000
1.4编写Service代码
@FeignClient("spring-cloud-demo04")//此值要与eureka中的名称对应
public interface Test {
@GetMapping("/test/{str}")//此路径也要与要访问的接口相对应
String test(@PathVariable("str")String str);
}
1.5编写controller代码
本人比较懒,就在启动类中编写controller代码进行测试
@SpringBootApplication
@EnableEurekaClient
@EnableFeignClients
@RestController
public class Demo05Application {
public static void main(String[] args) {
SpringApplication.run(Demo05Application.class, args);
}
@Autowired(required = false)
private Test test;//1.4中的Service类
@GetMapping("show/{str}")
public String show(@PathVariable("str") String str){
return test.test(str);
}
}
2.测试
2.1Eureka测试
打开Eureka页面看有没有新的服务背搜索到如图
可以看出两个服务都被注册到Eureka中了
2.2接口访问测试
访问消费者的接口看是否能获取提供者提供的信息如图
根据上图可以看出消费者已经获取到提供者所提供的信息