記一次北美遊戲伺服器冬令時夏令時切換引發的時間問題

2021-10-23 13:31:26 字數 705 閱讀 6886

由於在執行的某slg遊戲在國內蘋果商店多次拿到推薦,我們打算把它做到海外,部署按照全球唯一服的架構來部署,運維同事將集群中的各個模組選擇部署在美國芝加哥的機房。上線一段時間後客服反饋平時凌晨3點重置玩家每日資料的時間變成了4點,往後推遲了1小時,當時懷疑是不是出bug了,查了**發現這裡有貓膩:

public static final long gmt_8 = timezone.getdefault().getrawoffset();
並且查了這裡的時區是america/los_angeles,按照經驗,這裡走的是夏令時,夏令時時區會比平常的時間走的快,所以雖然是3點,實際上對應的夏令時時間是4點,這下找到問題的關鍵就有辦法來解決。

什麼是夏令時,冬令時:

很簡單,我們平常用的格林威治標準時間(又譯:格林尼治標準時間,greenwich mean time),到了三月,就在格林威治標準時的基礎上撥快乙個小時,新的時間就是夏令時。到了十月,又在夏令時的基礎上撥慢乙個小時,就形成冬令時了,說的再簡單點,冬令時就是格林威治標準時。

美國時間一般被認為是美國本土的時間。美國本土橫跨西五區至西十區,共六個時區,每個時區對應乙個標準時間。從東向西分別為東部時間(est)(西五區時間)、中部時間(cst)(西六區時間)、山地時間(mst)(西七區時間)、太平洋時間(西部時間)(pst)(西八區時間)、阿拉斯加時間(akst)(西九區時間)和夏威夷時間(h

記一次遊戲伺服器結構優化調整

上週遊戲伺服器被ddos攻擊了,伺服器頻寬瞬間拉滿導致全部伺服器宕機。於是對我們現有的伺服器結構做了些優化和調整以應對攻擊。先說說以前的伺服器結構如圖所示 以上只有乙個接入伺服器充當中轉的作用。如果接入伺服器宕機了,基本上全服都掛了。接入伺服器的access程序會判斷如果是協議格式不正確的連線會主動...

記一次伺服器事故

mysql資料庫報錯 can t create write to file tmp sql 6ccc 0.myi 在開始刪除之後,所有服務就已經恢復正常執行了,接下來就是優化那個session了,哎又是埋坑.最後附上inode擴容的方法 但是需要注意,手動擴inode,一般是新建分割槽時設定的,該操...

記一次伺服器專案遷移

今天被分配了伺服器專案遷移的任務,現在還在傳輸,閒著沒事就寫下總結,也算是一種學習 開啟虛擬機器,訪問需要遷移的伺服器 賬號密碼請向領導或運維索要 找到需要遷移的專案,一般在home 公司名 專案名,例如我所在的公司服務放置在home che tomcat epc 10100複製專案 訪問被遷移到的...