獲取代碼===>編譯java代碼===>配置文件放入密碼文件修改===>打包====>拷貝到目標服務器===>集群中移除節點===>解壓===>放入部署目錄===>拷貝差異文件===>重啟==>測試 ===>加入集群
第五步:scp服務器上面需要開啟對其他服務器的sshkey驗證不需要密碼
第六步移除目標服務器在集群nginx注釋服務器地址,/nginx/sbin/nginx -t reload 一下就可以
haproxy執行socket命令關閉節點,不需要改配置文件
所有的web服務都應該使用普通用戶,不能用root啟動,入侵后麻煩很大.
所有的web服務除了負載均衡都不監聽80端口,除了負載均衡
負載均衡使用suid執行啟動80端口,普通用戶啟動.由於普通用戶無法啟動80端口,用suid才能啟動
4.代碼上線
1. 測試環境 2. 固定的上線時間以及次數 3. 上線要做好失敗准備 -- 回滾(mv、軟連接)
AB分組上線
如果是php,直接備份,推送代碼 如果是java,python 直接備份,推送代碼,再重啟生效 java重啟比較慢
灰度發布
灰度發布(又名金絲雀發布)是指在黑與白之間,能夠平滑過渡的一種發布方式。在其上可以進行A/B testing,即讓一部分用戶繼續用產品特性A,一部分用戶開始用產品特性B,如果用戶對B沒有什么反對意見,那么逐步擴大范圍,把所有用戶都遷移到B上面來。灰度發布可以保證整體系統的穩定,在初始灰度的時候就可以發現、調整問題,以保證其影響度。 灰度期:灰度發布開始到結束期間的這一段時間,稱為灰度期。
用戶的IP地址判斷
智能DNS調度
www.baidu.com
1.1.1.1 老官網
2.2.2.2 新官網
223.5.5.5 www.baidu.com 1.1.1.1 202.106.0.20 www.baidu.com 2.2.2.2
智能DNS 判斷DNS的IP給它返回不同結果