要做什麼? 首先釐清一下我們要實作的目標是甚麼,一個售票系統,售票系統的流量有一個特性就是相對集中,在票券開發販售的時間點會有大量的使用者湧入購票,無論是演唱會...
根據昨天 Gemini 提供的建議,我們可以為窮小子售票系統設計一個高可擴展、高性能的架構,由於我的技能樹主要都點向後端開發,這裡就不琢磨前端,主要針對高併發系...
前幾天我們設計了系統大致的架構也選好了雲端服務供應商,今天我們就來決定要選用的雲端元件 根據既有架構,我們初步規劃所需的服務種類如下: 運算服務: 用於執行...
決定好雲端元件畫完架構圖後我們要來做成本的估算,在使用雲端資源時成本估算是非常重要的一環就,各大雲端平台針對每個元件都有公開的定價可供參考,通常都是一系列複雜的...
昨天我們已確認將採用那些雲端元件。今天,我們將這些元件實際整合至系統架構圖中,並進行初步的驗證。 各元件功能說明 Sales Service:作為系統的門...
Cloud Run 是一個全託管的服務,提供一個高可用且方便管理的平台來執行容器化的應用,Cloud Run 可以跟其他Google Cloud 服務非常完美的...
我們的窮小子售票系統目標是一套雲原生的系統,昨天我們確認好需求今天就來分析一下我們要選用的雲端供應商,主流的公有雲平台主要有AWS、GCP和Azure三大巨頭。...
Cloud SQL 是一個全託管的雲端資料庫服務,可以讓我們在 GCP 上輕鬆快速的管理資料庫,目前 Cloud SQL 有提供 for PostgreSQL...
設計完 API 後我們來設計一下 Database 的 Table Schema,我這裡推薦一個設計 Schema 的小工具,dbdiagram.io,這是一套...
前幾天分享完了我們會使用到的雲端元件,接下來我們先來設計一下應用程式的 API 規格。首先盤點一下我們需要的功能 身份驗證 註冊 登入 票務資訊...
Pub/Sub 是非同步的 Message Service 主要是為了實踐高可用和可擴縮的服務,十多年來 Google 許多的核心服務都是基於 Pub/Sub...
今天我們來建立我們窮小子售票系統能夠應付高併發的核心元件,我們的快取服務 Redis 我們先啟用 Memorystore for Redis 的 API 再...
建立 Process Service 先前都是透過 Sales Service 來做雲端資源之間交互測試,但實際上並不是全部遭錯都在 Sales Service...
Memorystore for Redis 是一套全託管的服務,該服務由 Redis Memory Cache 建構,提供毫秒級別的資料讀寫 Cache 服務。...
最主要的雲端資源都建置完成了,在進入程式碼開發之前我們先來確保雲端資源的連接,有兩個部分要進行確認跟設定 開發環境連線至雲端資源 在開發過程中要能夠連接到雲...
身分驗證與售票流程開發完畢後就可以先來做個簡單的壓力測試了,進行壓力測試當然要有合適的工具來進行,壓力測試的工具有非常多種,如 Jmeter、Locust、K6...
基本的雲端資源都準備好之後我們就要準備來建立最主要的運算服務 Cloud Run,我們可以直接把 Code 打包成 Container 上傳到 Artifact...
目前窮小子售票系統的售票 API 已經能夠承受 2400 左右的 RPS 了,但承受了這麼高的流量最後持久化的資料是否是正確的呢? 接下來就一起驗證看看 起初為...
昨天我們說到 Cloud Run 將環境變數連結到 Secret Manager,今天我們就來實作這個部分 首先簡單的介紹一下 Secret Manager 這...
最後一天了我們來快速的 Review 一下實作結果跟起初設定的目標 目標 首先來看看我們一開始訂的需求 需求: 7*24 提供服務 離峰時段只有少量的使用者...
管理活動 今天繼續依照先前設計的 API 規格來實作,身分驗證完成之後要來時做活動的管理,一個活動通常會有活動本身資訊及座位資訊,這兩種資料都可以根據我們先前設...
Cloud SQL 的連線設定完後還剩下 Memorystore for Redis 跟 Pub/Sub 一樣依序來進行配置 Memorystore for R...
昨天我們實作了售票的 API ,並把購票資訊推送給 Pub/Sub 的 Topic 再由 Scbscription 推送給 Process,但 Process...
前面我們做了許多規劃跟設計,決定了系統架構、雲端供應商選擇、雲端資源選用、架構圖繪製、AAPI 設計以及 Schema 規劃,接下來我們要開始實作的部分了 首先...
今天我們來建立處理緩衝層的 Message Service 服務 Pub/Sub,它是全託管的SaaS服務,基本上只要建立好 Topic 跟 Subscript...
昨天我們對售票 API 進行了壓力測試,可以看到結果是慘不忍睹,RPS 只 27 ,今天我們要好好地來優化購票 API。 增加 Log 首先我們要先知道整個流程...
有了活動資訊之後要開始來建立最核心的售票服務,基本上售票的 API 最好是越簡單越好,做的事情越少 API 的 Latency 通常就會越低。 同步處理 正常來...
接下來可以要開始撰寫 API 了,可以依照先前設計的 API 規格來實作,如果有特別需求再做調整。 建立註冊及登入API 售票系統一定會有使用者登入的機制,無論...
Cloud SQL 建立好了一個 PostgreSQL 但目前裡面都還沒有 Table Schema ,先前也設計好 Schema 為了方便做資料庫的版本控制,...