Posts

蝦皮購物新加坡研發團隊技術分享會

  • POSTS
透過技術分享的方式順便來台灣找工程師去新加坡工作,個人是覺得這樣還算不錯,整體而言第一場技術 Lead 的分享還算不錯,雖然每個領域都只是點到為止,沒有一一深入探討,但也趁機會檢視一下平常營運系統會遇到的問題。 活動:蝦皮購物新加坡研發團隊技術分享會 時間:2018/3/1(四) 19:00-21:00 地點:蝦皮購物台北辦公室-信義區菸廠路88號9樓之1 兩年内如何把蝦皮從 0 做到 50 億 - 背後的工程難題 蝦皮新加坡研發團隊技術分享 Speaker:雷磊 Lei Lei,蝦皮新加坡總部技術負責人 全球 4 千多人 用戶下單時,先收錢還是先扣庫存?扣最後一個庫存後付款失敗,但已經送 Push Notification 給賣家 金額數值,應該用什麼 data type 儲存?long Android 共有多少螢幕 DPI? Android WebView 和 Chrome WebKit 有什麼不同? iOS 的 UIWebView 的 onscroll 事件在手指放開前不會被觸發怎麼辦? Redis 在資料大小達到多少就無法用 bgsave 有效存擋? 64GB Redis 有哪些指令在 production 上是不能用?keys 功能容易,效能難 用 Python+Django 如何提高吞吐量?Async Sars: 這不是一開始開發就要做的嗎… 什麼系統架構適合透過增加伺服器數量來擴充效能?Stateless Load Balancer 效能瓶頸如何解? 一天 25TB 的 log 量,如何查? 正在解.

[GCP] 將 VM 搬移至另一個 Zone

  • POSTS
GCP 的 Compute Engine 在開虛擬機的時候,需要同時選擇虛擬機所在的機房(Region)及子區域(Zone),一般來說在虛擬機建立時,選好 Region 及 Zone 之後,就不能再更換或搬家,只能刪掉重建,不過 gcloud 指令提供了換 Zone 的功能,讓這件事情變得很簡單,只需要一行指令: gcloud compute instances move example-instance --zone us-central1-a --destination-zone us-central1-f 上面的範例,即可把 example-instance 這台 VM 從 us-central1-a 搬到 us-central1-f。 整個搬遷的過程需要點時間,在過程間 GCP 控制界面上並不會有防呆機制,因此千萬不要在這過程中修改任何相關的設定或資源,以免搬遷過程失敗。 另外需要注意,該虛擬機必須要在「開機」的狀態下才能用,如果是關機狀態,會出現 ERROR: (gcloud.compute.instances.move) Instance cannot be moved while in state: TERMINATED 也就是說,要先把這台虛擬機開機,才能使用 gcloud compute instances move 指令搬機器。 – 指令簡單歸簡單,深入研究可以發現,這個指令其實只是把一連串固定的操作全部整合成一個指令而已。GCP 也提供了全手動的方式幫機器搬家,整個操作步驟大約就是關閉關機後自動刪除硬碟功能、將硬碟建立 snapshot、刪除舊虛擬機、以 snapshot 在指定的 Zone 建立新虛擬機、開機,步驟有點複雜,有興趣可以翻閱參考連結的第一個,裡面有詳盡的步驟。 最後就是換 Region,理論上可以辦得到,但一直出現 ERROR: (gcloud.compute.instances.move) Instances belonging to subnetworks cannot be moved interregionally.