本文用於記錄一個人肉運維的奮起之路
系統層面
系統組件:
1、nginx(單點或負載)
2、memcached(只能單點)
3、rabbitmq(單點)
4、php
5、mysql(主從)
6、mongodb(主從)
7、redis(主從)
架構:
1、從應用服務器沒有任何意義
2、缺乏高可用可靠性
產品層面
服務特點:
1、微服務
2、容器不同(jetty、netty、paly)
3、配置文件繁雜不易管理
更新方式:
1、jar包,war包,配置文件,sql腳本,移動端分開更新,容易出問題
2、容易因更新導致服務異常
分支特點:
開發只有一個主分支(release),每次定小版本便會將當前的主分支克隆一份並命名a.b,後面再次發版則又克隆一份最新的release命名爲a.b+1或者a+1.0 。這會導致有些環境部署的時候用的release主分支,但過了很久之後需要重新構建移動端會構建最新的release導致新端連舊後臺,出一堆問題。
痛點
沒有高可用
服務較多管理不便(沒有管理平臺)
分支管理是個坑
努力方向
1、要想實現高可用,必須先實現監控和管理平臺
2、完成監控和管理平臺後加入keepalive實現高可用
3、分支策略:release分支只用來bugfix和驗證新功能,作爲線上測試環境使用,用戶部署和每次發版都是用固定的版本名。