zookeeper安裝配置自行百度。
zookeeper可視化工具zkui配置自行百度。
springcloud微服務架構最大的特點就是restful,他讓微服務之間的通信通過restful實現,編寫微服務就像編寫普通的controller一樣簡單。當你想要向外界提供一個為服務時,只不過是簡單的暴露一個restful接口,和傳統的SpringMVC開發基本沒有區別,大大降低了學習成本,讓這套架構更容易理解。同時現在的springcloud支持feign,當需要消費為服務時只需要在本地編寫一個接口,用注解標明需要訪問的微服務提供者,然后就像普通地訪問一個restful接口一樣訪問一個微服務。
配置:
在你需要啟動微服務的模塊下面,和application.yml平級目錄建立bootstrap.yml,可以說application.yml是springboot項目的專用配置,而bootstrap.yml是springcloud+zookeeper的專用配置,bootstrap.yml的啟動優先級是優於application.yml的。
spring:
application:
name: goods-service #微服務名
cloud:
zookeeper:
connect-string: 192.168.2.157:2181 #zookeeper服務器地址,改成你自己的
discovery:
enabled: true #是否啟用zookeeper
register: true #是否注冊微服務
這些就是bootstrap.yml中的內容。
微服務提供者配置:
在啟動類加上@EnableDiscoveryClient就行了,沒別的東西
@RestController
public class HelloMS {
@GetMapping("/ms/hello/{id}")
public String hello(@PathVariable long id){
return String.valueOf(id);
}
}
@FeignClient(value = "hello-ms")
public interface HelloFeign {
@GetMapping("/ms/hello/{id}")
String getHello(@PathVariable long id);
}
定義好消費者類之后,需要使用的時候只需要@Autowired一下即可使用
@EnableFeignClients("com.yongbang.b2b.server")
@EnableDiscoveryClient
@SpringBootApplication
public class Bootstrap {
public static void main(String[] args) {
SpringApplication.run(Bootstrap.class, args);
}
}