前言
在雲端服務設計的過程中,
我們會碰到使用 stateful / stateless 的差別
- stateful:狀態會被保存,也就代表這是持續的任務,不會短時間結束。
- stateless:(無狀態) 狀態不會被保存,也就代表每一次都是一個獨立任務,結束就結束。
可以先思考一個經典的排隊問題:
旁邊櫃檯沒人排隊(比喻:此主機忙碌、別的主機空閒),你可以去隔壁櫃臺要求提供服務嗎?
想想在郵局的情況、再想想在大賣場的情形
global queue 才有機會將這個櫃台的人分配給其他櫃員處理,
否則,他只能夠排隊在該櫃台、一直等待服務。
開了兩台主機 一台CPU爆強、一台GPU爆強
結果在拿task的時候,一個狂吃CPU的 task,使用了 GPU爆強的機器
這樣是不是浪費了GPU爆強的機器使用成本?
說明 & 比喻
有一個很妙的比喻拿來形容 global / seperate queue 的差別非常合適:
seperate queue
- 使用情境:不想要堵塞,客戶為尊,客戶到馬上就處理,一般來說會使用許多的 service,讓服務馬上到馬上進行
就像「全聯排隊」,一個收銀台排隊一排,能不能先結帳要看運氣,
有時運氣不好,前面排隊的結帳很久,後來才來結帳的人反而先完成。
- seperate queue, multiqueue, multi service
global queue
- 使用情境:可能會有堵塞的情況,而為了求公平,讓先到的客戶先進行處理,而服務成本一般較高(像主機、櫃員),讓想使用的客戶自行排隊等待服務時間。
就像「郵局排隊」,先到的客戶先進行處理,一個接著一個
- global queue, single queue, multi service
一般情況使用
一般情況下 global queue 優於 seperate queue,
但設計上 seperate queue 相對 global queue 容易設計,
不用考慮太多整體的事情。
程式設計
程式設計:seperate queue 設計可以較隨意 (每一個櫃位要擺哪,要怎麼排隊隨便啦),
global queue 的設計須以 global queue 為主軸,讓每一個系統能夠去提取 task 來做 (排隊動線為尊,櫃檯配合排隊動線設計)。
Reference
⭐Linux 指令 相關文章整理 (此表最後手動整理時間:2022/10/5) ⭐: |
---|
⭐Linux 終端機 (terminal) 操作、shell 篇⭐: |
1. | (terminal指令 常用總整理)【Linux】linux/ubuntu/mac 基礎終端機 (terminal) 指令 & 基礎知識總整理,初學者/新手 必須知道的基礎指令 & 基礎知識大全(持續更新) |
2. | (terminal快速鍵 常用總整理)【Linux】linux/ubuntu/mac 基礎終端機 (terminal) 快速鍵/小技巧,初學者/新手 必須知道的一些實用功能!(持續更新) |
3. | 【Linux】好用的終端機管理工具 – tmux (類似 screen 的進階版) |
4. | 【Linux】終端機小技巧 – default start screen treminal,無縫接軌任何電腦,繼續使用同一個 terminal 殘留下來的訊息 |
5. | 【Linux】z,zim 套件中最快搜尋指定資料夾的套件,以後不用 cd 之後再慢慢 tab 尋找路徑了! |
6. | 【Linux】zim (+zsh) – 也許是目前最快也最實用的 linux terminal 與套件,直接把終端機開發效率飆升到最高 |
7. | 【Linux】終端機小技巧 – sudo 補上快速完成 (終端機指令小祕技) |
8. | 【Windows】也許是 windows 上最貼近 linux 的 terminal,安裝 fluent terminal,在 windows 上使用 zsh (oh-my-zsh) |
9. | 【Linux】透過 screen 讓 terminal 內的工作內容可以無縫接軌到任何電腦 (儲存當下 terminal 內容),並可以繼續操作 |
⭐Linux 基礎指令篇⭐: |
1. | 【嗡嗡精選】ubuntu 個人自用小抄 (last update: 2022/6/24) |
2. | 【Linux】(作業系統基礎知識) 簡單理解「相對路徑」與「絕對路徑」,程式設計 初學者/新手 必須知道的路徑知識總整理 |
3. | 【Linux】linux ubuntu 中利用 mkdir 建立資料夾 相關參數總整理 (必定建立資料夾、修改資料夾權限 777) |
4. | 【Linux】linux ubuntu 使用 terminal (終端機) 關機 shutdown、重新開機 reboot 的方法 |
5. | 【Linux】小知識 source 與 bash 執行 script 的差別 |
6. | 【Linux】在 ubuntu terminal 中 執行關機、重新開機指令 (shutdown, reboot) |
7. | 【Linux】在 terminal 中 設定 ssh alias (bashrc, zshrc 中使用 alias) |
8. | 【Linux】Ubuntu 上安裝軟體的方式筆記 apt, apt-get, dpkg 總整理 |
9. | 【Linux】在 Linux 中查看 cpu, gpu 資訊 |
⭐Linux 搜尋相關⭐: |
1. | 【Linux 搜尋相關 #1】在 terminal 的各種搜尋大全, ack, grep, find 個人經常使用情境整理 |
2. | 【Linux 搜尋相關 #2】linux ubuntu 使用 grep, awk, xargs 尋找需要的資料,快速濾出/篩選 結果欄位 所需要的資訊 (內附圖文說明) filter column |
3. | 【Linux 搜尋相關 #3】linux, ubuntu 使用 ps, grep, pgrep 找到 執行中程式的相關資訊 與 pid (ps aux, ps -ef) |
4. | 【Linux 搜尋相關 #4】linux ubuntu 中利用 grep 蒐集 log 或任何文件內的訊息 (grep -A -B -C |