1 第一步spring
1)建立eureka服务中心 //至关于dubbo使用zookeeper的原理app
pom.xmlide
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency>
eureka.client.service-url.defaultZone= http://localhost:8761/eureka/测试
server.port=8001fetch
eureka.instance.hostname=eureka-serverurl
eureka.client.register-with-eureka=false.net
eureka.client.fetch-registry=falserest
3)在主应用中启用eureka @EnableEurekaServercode
测试结果server
2 建立服务提供者的应用
1)pom.xml
<dependency>
<groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency>
server.port=8002
spring.application.name=provider
#使用服務的ip地址來進行注冊
eureka.instance.prefer-ip-address=true
eureka.client.service-url.defaultZone:http://127.0.0.1:8761/eureka/
4)建立向外提供服务的controller @RestController
public class BookController {
@Autowired BookService bookService; @GetMapping("/book")
public String getBook(){
return bookService.getBook();
} }
3 建立消费者
1)pom.xml
<dependency>
<groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency>
spring.application.name=consumer
server.port=8200
eureka.instance.prefer-ip-address=true
eureka.client.service-url.defaultZone:http://localhost:8761/eureka/
3)编写调用服务的controller
@RestController
public class helloController {
@Autowired RestTemplate restTemplate; @GetMapping("/hello")
public String UserBook(String name){
String s= restTemplate.getForObject("http://PROVIDER/book",String.class); return name+"购买了"+s;
} }
4)启用从远程调用服务 @EnableDiscoveryClient
@SpringBootApplication
public class ConsumerApplication {
public static void main(String[] args) { SpringApplication.run(ConsumerApplication.class, args); } @Bean @LoadBalanced public RestTemplate restTemplate(){
return new RestTemplate();
} }
测试结果: