小編2015年進入一家互聯網公司開始接觸微服務。當時對微服務的概念也是懵懵懂懂。在逐步的探索中,踩了大大小小的坑不計其數。最開始使用的還是Springboot1.4.x的版本。版本的升級也遇到了許多的麻煩。所有與微服務相關的組件都需要自己動手搭建。比如服務注冊發現、負載均衡、API網關等重量級的組件。系統跑的磕磕絆絆。
現如今,Spring Cloud已經非常成熟了。上面提到的相關組件與Spring Cloud已經可以無縫連接,如果你使用Maven作為構建工具的話,只需要引入你想要的依賴,并在代碼上加上相關的注解,或者在配置文件中輸入你想要的配置,可以說是分分鐘搞定一個微服務的框架。今天小編就來介紹一下搭建基于Spring Cloud的微服務框架是多么簡單。
1、 搭建工程。
1.1、任意位置創建一個目錄spring-cloud,在此目錄下創建一個文本文件,取名pom.xml。
1.2、 IDEA打開spring-cloud工程。你的第一個Spring Cloud微服務框架工程搭建完成啦!
2、 服務注冊與發現Eureka Server。
2.1、創建一個新的module,取名eureka-server。pom.xml文件添加spring-cloud-starter-eureka-server依賴。
2.2、創建啟動類,啟動類中添加@EnableEurekaServer注解。配置文件Application.yml文件添加spring.application.name=eureka-server、server.port=8761。eureka.client.register-with-eurkea和eureka.client.fetch-registry給false。eureka.client.service-url.defaultZone=http://127.0.0.1:8761/eureka/。
2.3、啟動eureka-server。
3、 客戶端負載均衡Ribbon Client。
3.1、創建一個customer-service的module。
3.2、pom.xml添加spring-cloud-starter-netflix-eureka-server和spring-cloud-starter-netflix-ribbon依賴。
3.3、創建啟動類,并添加@ EnableEurekaClient注解。注入一個restTemplate的bean。加上@LoadBanlanced注解。
3.4、添加application.yml文件,spring.application.name=customer-service、server.port=8010、eureka.client.service-url.defaultZone=http://127.0.0.1:8761/eureka/。
同上4個步驟再創建一個provider-service的module。配置基本相同,只是不用注入restTemplate。
啟動customer-service和provider-service兩個服務,provider-service可以任意發布出來一個rest接口。customer-service中使用provider-service這個虛擬的IP去調用,測試一下效果。
如果provider-service啟動多個端口,看看是否實現了負載均衡?
Feign、Hystrix、Zuul和Spring Cloud Config后續文章再行介紹。