SpringCloud簡介
springCloud是基于SpringBoot的一整套實現(xiàn)微服務的框架柔袁。他提供了微服務開發(fā)所需的配置管理美旧、服務發(fā)現(xiàn)铺峭、斷路器肤粱、智能路由、微代理揉稚、控制總線秒啦、全局鎖、決策競選搀玖、分布式會話和集群狀態(tài)管理等組件余境。最重要的是,跟spring boot框架一起使用的話,會讓你開發(fā)微服務架構(gòu)的云服務非常好的方便葛超。
SpringBoot(學習)旨在簡化創(chuàng)建產(chǎn)品級的 Spring 應用和服務暴氏,簡化了配置文件,使用嵌入式web服務器绣张,含有諸多開箱即用微服務功能。
在這里关带,我們需要用的的組件是Spring Cloud Netflix的Eureka侥涵。
Netflix Eureka
Netflix Eureka:云端負載均衡,一個基于 REST 的服務宋雏,用于定位服務芜飘,以實現(xiàn)云端的負載均衡和中間層服務器的故障轉(zhuǎn)移。
好了磨总,進入正題嗦明。
首先,我用的IDE是STS(下載頁面)
創(chuàng)建一個服務(server)
點擊Finish蚪燕,完成項目的創(chuàng)建娶牌,這里不做項目結(jié)構(gòu)的描述。
這里我把主配置文件改為了yml后綴馆纳,eureka是一個高可用的組件诗良,它沒有后端緩存,每一個實例注冊之后需要向注冊中心發(fā)送心跳(因此可以在內(nèi)存中完成)鲁驶,在默認情況下erureka server也是一個eureka client ,必須要指定一個 server鉴裹。
加入以下配置:
在主程序入口添加@EnableEurekaServer注解
啟動,輸入localhost:8761
至此钥弯,Eureka Server配置成功径荔!
創(chuàng)建一個服務(client)
當client向server注冊時,它會提供一些元數(shù)據(jù)脆霎,例如主機和端口总处,URL,主頁等绪穆。Eureka server 從每個client實例接收心跳消息辨泳。 如果心跳超時,則通常將該實例從注冊server中刪除玖院。
創(chuàng)建過程同server類似菠红。
application.yml文件如下:
主程序入口添加@EnableEurekaClient注解。
啟動难菌。輸入server路徑:localhost:8761
你會發(fā)現(xiàn)一個服務已經(jīng)注冊在服務中了试溯,服務名為SERVICE-HI
打開http://localhost:8762/getHi
完成了!