Azure 系列文(19) - Azure Spring Cloud
微服務建置的方式,已經流行了一段時間,在Spring Boot的框架下,也推出了Spring Cloud的微服務解決方案,可以讓我們很快速地利用Spring Cloud,建立一套微服務的系統,那關於微服務的介紹網路上已經有很資源了,這邊就不佔篇幅了(其實是有點懶XD),那本篇會照著官方範例學習如何部署到Azure的Spring Cloud上!
準備
可以透過Spring Initialier開始,下圖是這次範例的Initialier,按下Generate就可以產生專案了!
https://start.spring.io/#!type=maven-project&language=java&platformVersion=2.3.3.RELEASE&packaging=jar&jvmVersion=1.8&groupId=com.example&artifactId=hellospring&name=hellospring&description=Demo%20project%20for%20Spring%20Boot&packageName=com.example.hellospring&dependencies=web,cloud-eureka,actuator,cloud-starter-sleuth,cloud-starter-zipkin
再來新增HelloController.java,來建立Controller
HelloController.java
package com.example.hellospring;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RequestMapping;
@RestController
public class HelloController {
@RequestMapping("/")
public String index() {
return "Greetings from Azure Spring Cloud!";
}
}
在Azure Portal上搜尋"Spring Cloud",並且按下建立,設定一些資料
接著就可以按下建立了!
先透過Maven建置專案
mvn clean package -DskipTests
安裝Azure的Extension
az extension add --name spring-cloud
指派應用程式到Publid IP
az spring-cloud app create -n hellospring -s <service instance name> -g <resource group name> --is-public
部署上Azure Spring Cloud
az spring-cloud app deploy -n hellospring -s <service instance name> -g <resource group name> --jar-path target\hellospring-0.0.1-SNAPSHOT.jar
然後只要瀏覽網址,就可以看到Hello,World囉~
https://<service instance name>-hellospring.azuremicroservices.io/
Log也是很重要的一環
az spring-cloud app logs -n hellospring -s <service instance name> -g <resource group name> --lines 100 -f
可以看到部署微服務是相當容易的事情,其實我發現Azure有許多跟Spring Boot的Extionsion,像是一行指令就把Docker Image推上Azure Container Registry(ACR),有許多指令都相當的方便,這次的Azure Spring Cloud的指令也算是一件部署了吧XD,可以做到這邊會發現一件事情,啊?微服務呢?說好的Micro-service呢,不用緊張!!,下一篇我們會實作部署微服務給大家!!