Tech Conferences
Serverless API - Powered w/ GCP

Serverless 大雜燴: 以 Google Cloud Platform 打造線上商店服務

Keywords

Cloud Run, Pub/Sub, Artifact Registry, Spring Boot, Kotlin, Docker, Intellij IDEA, .http, Nyan Cat

教材

tutorial (google-doc) (opens in a new tab)

課程目標

利用 Cloud Run 輕鬆地打造一線上商城,並在結帳時即時利用 Pub/Sub 推送通知至 mail, sms, 或 line。


並使用 Artifact Registry (原 Container Registry) 以容器化方式部署各個服務,擺脫同專案必須使用同語言的限制

課程流程

1. 前置作業

講者首先請大家先完成前置作業,確保環境都有安裝完成,並且可以順利執行,此次 workshop 環境:

  • GCP
    • Cloud Build
    • Artifact Registry (Container Registry)
    • Cloud Run
    • Pub/Sub
  • IDE: Intellij IDEA Ultimate
  • Docker

環境安裝完成後,至 github registry (opens in a new tab) clone 下商城基礎, 由於時間有限,products, checkout(結帳) 相關 api 都由講者事先提供於前述 github registry 當中,而 auth 的部分目前並沒有實作, 若未來有興趣將專案繼續延伸,將需要自己實作此部分。

資料儲存部分,為求快速先使用 h2 實作之 in memory DB

2. 專案結構

system-architecture

3. GCP 建置基礎

  • 於 Articat Registry 建置 Docker image 存放處

  • 建立 Pub/Sub 基礎服務 (3xTopic & 3xSubscription for Email/SMS/Line)

Fun Facts of the day

  • 原來我們可以在 vscode 當中使用.http作為後綴詞的檔案, 以###做為分隔,定義各式REST http calling, 藉此與團隊開發成員共享 request 呼叫方法與格式

  • The cute progress bar cat in vscode is called Nyan Cat (vscode extension link) (opens in a new tab)