iT邦幫忙

第 12 屆 iT 邦幫忙鐵人賽

DAY 19
0
Microsoft Azure

Azure 的奇幻之旅系列 第 19

Azure 系列文(19) - Azure Spring Cloud

Azure 系列文(19) - Azure Spring Cloud

微服務建置的方式,已經流行了一段時間,在Spring Boot的框架下,也推出了Spring Cloud的微服務解決方案,可以讓我們很快速地利用Spring Cloud,建立一套微服務的系統,那關於微服務的介紹網路上已經有很資源了,這邊就不佔篇幅了(其實是有點懶XD),那本篇會照著官方範例學習如何部署到Azure的Spring Cloud上!

準備

  • 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

https://ithelp.ithome.com.tw/upload/images/20200928/20127994mIgFH4P9D5.png

再來新增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 Spring Cloud

在Azure Portal上搜尋"Spring Cloud",並且按下建立,設定一些資料
https://ithelp.ithome.com.tw/upload/images/20200928/20127994Qd1z65y1OJ.png

接著就可以按下建立了!
https://ithelp.ithome.com.tw/upload/images/20200928/20127994NSYPYXgYjn.png

部署上Azure 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/

Azure Spring Cloud Logs

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呢,不用緊張!!,下一篇我們會實作部署微服務給大家!!


上一篇
Azure 系列文(18) - Key Vault 保護你的安全資訊 - (Pipeline)
下一篇
Azure 系列文(20) - Azure Spring Cloud - PiggyMetrics
系列文
Azure 的奇幻之旅30

尚未有邦友留言

立即登入留言