spring cloud入門demo
阿新 • • 發佈:2018-11-12
1.建立一個maven(空)工程,例如:springCloudLearning01
2.在maven工程中建立一個module工程,這是建立eureka-server,類似生產者
按圖中選擇建立
直接下一步,直到完成
3.在啟動類增加註解 @EnableEurekaServer,表明這是一個server
package com.tencent.eurekaserver; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; @SpringBootApplication /** * 開啟這個註解表明這是一個EurekaServer */ @EnableEurekaServer public class EurekaServerApplication { public static void main(String[] args) { SpringApplication.run(EurekaServerApplication.class, args); } }
在application.yml中配置
server: port: 8761 eureka: instance: hostname: localhost client: #通過eureka.client.registerWithEureka:false和fetchRegistry:false來表明自己是一個eureka serve registerWithEureka: false fetchRegistry: false serviceUrl: #指明client需要設定defaultZone為這個地址 defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
此時可以直接訪問:http://localhost:8761/
可以看到如下的介面,此時是沒有服務消費者的
4.再次建立一個module,這次是建立一個消費者,eureka-hi
建立的方法和建立server一樣,也是選擇 cloud-Discovery和Eureka Server
建立好了之後,在啟動類增加註解 @EnableEurekaClient,表明這是一個服務消費者
package com.tencent.servicehi; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.EnableEurekaClient; @SpringBootApplication /** * 表明這是一個eurekaClient */ @EnableEurekaClient public class ServiceHiApplication { public static void main(String[] args) { SpringApplication.run(ServiceHiApplication.class, args); } }
在application.yml中配置,需要注意點,已經在註釋上面提示了
eureka:
client:
serviceUrl:
#連線server指明的defaultZone,兩者必須一致,否則連線不上
defaultZone: http://localhost:8761/eureka/
server:
port: 8762
spring:
application:
#表示client的一個標識名稱,不重複
name: service-hi
建立一個controller用來測試
package com.tencent.servicehi.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class TestController {
@RequestMapping("/hi")
public String home(@RequestParam String name) {
return "歡迎訪問spring cloud eurekaClient";
}
}
啟動專案,可以看到,此時多了一個服務消費者,名稱為service-hi,埠號為8762
這個時候,就可以訪問controller了,可以看到訪問成功了,訪問的地址:http://localhost:8762/hi?name=yu
此時一個簡單的spring cloud入門demo就搭建好了
系統學習spring cloud: 引用github上的原始碼:
原始碼下載:https://github.com/forezp/SpringCloudLearning/tree/master/chapter1