1、新建一個springboot項目,並添加如下依賴:
2、配置application.yml文件
server:
port: 8091
eureka:
client:
service-url:
defaultZone: http://localhost:8090/eureka/ #配置Eureka的服務地址
instance:
appname: userClient #配置微服務名稱
3、在啓動類上加@EnableEurekaClient或者@EnableDiscoveryClient
@SpringBootApplication
@EnableEurekaClient
public class ClientTestApplication {
public static void main(String[] args) {
SpringApplication.run(ClientTestApplication.class, args);
}
}
說明:@EnableEurekaClient註解僅是支持Eureka作爲服務發現組件,而@EnableDiscoveryClient更加通用一些,除了支持Eureka,可以支持其他的服務發現組件(如:consul、etcd等)
4、訪問Eureka的服務地址,就可以看到新增的實例了
下面簡單介紹下微服務
一、什麼是微服務?
Martin Fowler是這樣定義的。微服務架構風格這種開發方式,是以開發一組小型服務的方式來開發一個獨立的應用系統。其中每一個小型服務都運行在自己的進程中,並經常採用HTTP資源API這樣輕量的機制來互相通信。這些服務圍繞業務功能進行構建,並能通過全自動的部署機制來進行獨立部署。這些微服務可以使用不同的語言來進行編寫,並且可以使用不同的數據存儲技術。
二、微服務的出現是爲了解決什麼問題?
很好的解決的單體應用(一個歸檔包中涵蓋了所有功能)中存在的缺點,主要缺點如下:
1、複雜性逐漸變高
2、技術債務逐漸上升(簡單的說就是開發人員的流動所帶來的問題)
3、部署速度逐漸變慢
4、阻礙技術創新(個人覺得這個是最大的缺點)
5、無法按需伸縮(一些被高頻訪問模塊對硬件的要求決定了整個系統的硬件水平,在很多時候會造成資源的浪費)
三、微服務的優點
1、易於開發和維護
2、啓動較快
3、局部修改容易部署
4、技術棧不受限
5、按需伸縮
四、微服務帶來的挑戰
1、運維要求高
2、分佈式的複雜性決定了開發人員必須要有較好的開發經驗
3、接口調整成本高(微服務之間互相通信)
4、重複勞動(很多的工具類或者通用的持久層的操作重複了)