DevOps實踐

1. 適合的纔是最佳的

2. 惟一不變的是不停改變

3. 永無止境


微服務:

將單體服務根據業務邊界進行分離,單個微服務可以以獨立的、對外透明的方式提供服務。可以獨立的持續集成和交付。
  • 經過REST API/SDK方式暴露服務,會兼容2-3個版本。REST優點是簡單、交付快。SDK優點是能夠在調用端作出優化和限制。
  • 服務發現與註冊。eureka、consul
  • 服務隔離與降級。hystrix
  • 數據一致性。分佈式事務、業務補償機制。秒殺場景……
  • 持續集成與部署。Jenkins
  • 多環境模擬與測試。測試環境和預發佈環境。測試環境測試功能模塊,預發佈環境模擬PD場景。
  • 代碼分支。特性分支、開發分支、預發佈分支、發佈分支。正常代碼交付、hotfix交付。版本管理。
  • 代碼重構。隨着業務變化,以前完美的代碼也不能適應新的業務。
  • 技術文檔和接口文檔。踩坑指南、技術方案、配置指南。swagger--接口即文檔
  • 單元測試、集成測試、自動化測試。easymock、Junit、SpringbootTest
  • 上線。AWS、shell。藍綠、灰度。回退。
  • 無狀態。token貫穿
  • 安全。基礎設施層安全和應用層安全。

微服務之路:shell

  • 從剛開始的單體服務,逐步拆分紅微服務,quote服務拆分、Library、search、pricing、order(ing)
  • 從單庫向獨立數據庫遷移
  • 從AngularJs到Vue
  • 從jar、war混合到單純jar包
  • 從單人上線到人人上線

目前的DevOps之路:

  • 開發人員全棧
  • SPA 保證接口純粹 Vue Angularjs
  • 部署腳本一致,團隊成員都能作上線,新啓服務能夠使用先用腳本稍做修改便可加入自動部署體系
  • On Call。
  • 代碼review。代碼質量、團隊成長

+數據庫

相關文章
相關標籤/搜索