本篇是 TGONext 架構組 - Ant 組在 2020-03-27 第二次聚會的內容整理。這些經驗與能力決定了你的價值。
第一篇是 軟體技術架構如何正確與商業需求快速對齊:談 MAU 換算至 RPS,SLA 回推至 SLI。
此次聚會是雜談,關於 Migration, 架構演進, Queue。
軟體技術架構應該要如何正確與商業需求對齊?很多人有不同的想法,而依據我多年的經驗,不外乎就是質
及量
。
質
與量
有很多檢測依據可以評斷軟體技術架構是否符合商業需求,而因為時間與篇幅有限,這裡我先提出兩個最基本的對齊方式。
質
在商業需求就是SLA
(Service-Level Agreement, 服務等級協議),即公司提供給客戶的服務品質保證。量
在商業需求就是MAU
(Monthly Activited Users, 月活躍客戶),即公司商業希望達成的每月活躍客戶數。有些人可能會用DAU
(Daily Active Users,日活躍用戶)。
『Scalability! But at what COST?』 是 2015 年談及 Scalability (可擴展性) 的 Papers,但值得回味。
AWS
Firecracker
的 Papers 值得推薦給對 Linux Virtualization 及 Container 入門有興趣的人閱讀。
Linux containers 及 virtualizations 差別
可看出 Firecracker
為了 security 及 compatibility 的權衡,選擇採用 virtualization 而不是 container 的原因。
國家地理頻道
(National Geographic) 特別撰文報導關於 新型冠狀病毒
(coronavirus
, 2019-nCoV
, COVID-19
, 武漢肺炎
) 在飛機上的傳播範圍。使用科學的方式告訴我們,選擇什麼座位會有相對較低的風險。
昨天 PHP 技術社群有人提問 JSON_UNESCAPED_UNICODE 是否有潛在的安全問題。
預設 PHP 的 json_encode 會將 Unicode 編碼為 \uXXXX
,若要保留 Unicode,例如想要保留原本中文字而不轉換為 \uXXXX
,則需額外開啟 JSON_UNESCAPED_UNICODE 選項。但這個選項會不會造成潛在的安全問題?
我的回答是,雖然 JSON_UNESCAPED_UNICODE 帶來諸多優點,但缺點是會弱化應用安全。
如果你的 Java/JVM 在容器化內運行,如 Docker 或 LXC,你也許已違反了 Oracle 的著作權授權協議。
原由出自「Running Java on Docker? You’re Breaking the Law」,爾後 InfoQ 有較完整報導「Does Running Java on Docker Containers Violate Agreements?」。