2019年12月12日,Rainbond開源2週年記念,咱們帶來了5.1.9版本,本次更新引入組件實例自動伸縮、代碼倉庫互聯(OAuth2.0互聯)兩大功能,同時在系統高可用、系統服務自動運維、功能可用性等方面作大量優化。node
彈性伸縮是指對於無狀態類組件服務或有狀態可水平伸縮類組件服務當業務量大時自動增長實例數量,以保證計算能力。當業務處理量降低時減小實例數量,以下降資源佔用成本。本次實現咱們採用Kubernetes 默認伸縮算法。git
HPA Controller會經過調整副本數量使得某一指標儘可能向指望值靠近,並且不是徹底相等.另外,考慮到自動擴展的決策可能須要一段時間纔會生效:例如當某一個組件實例的內存使用率一直上升並超過時望值,建立一個新實例的過程當中,原實例的內存使用率還會持續上升。因此,在每一次做出決策後的一段時間內,將再也不進行擴展決策。對於擴容而言,這個時間段爲3分鐘,縮容爲5分鐘。github
HPA Controller中有一個tolerance(容忍力)的概念,它容許必定範圍內的使用量的不穩定,如今默認爲0.1,這也是出於維護系統穩定性的考慮。例如,設定HPA調度策略爲內存使用率高於50%觸發擴容,那麼只有當使用率大於55%或者小於45%纔會觸發伸縮活動,HPA會盡力把實例的使用率控制在這個範圍之間。web
Ceil(採集到的使用率 / 用戶自定義的使用率) * Pod數量)
對於指標當前版本支持資源使用類的內存(使用率、使用量)和CPU(使用率、使用量)指標。算法
<center>組件彈性伸縮設置演示</center>sql
將來的版本中咱們將支持用戶自定義組件的業務能力指標,好比API服務暴露其每秒處理的請求數量,則可經過配置請求處理效率指標爲實例伸縮指標,對於這類業務類指標將更可以及時準確的衡量業務伸縮的時機。除了擴充業務指標外,HPA Controller將聯合網關模塊、ServiceMesh模塊來實現組件實例縮放到「0」的能力。這種能力對於企業長期不使用的應用或業務可以節省較多企業資源,這同時也是服務於FaaS的能力基礎。數據庫
Rainbond基於源碼新建或持續構建組件都直接與Git代碼倉庫交互。過去須要用戶手動輸入項目倉庫地址,對於私有倉庫還須要提供帳號密碼等信息。OAuth是目前最經常使用的開放受權通訊協議,目前幾乎所有Git代碼倉庫服務實現都支持基於OAuth2.0實現開放用戶受權。當前版本Rainbond實現對Github、Gitlab、Gitee三類代碼倉庫服務的支持,用戶受權後可直接獲取用戶項目列表、提供建立組件的快捷流程。經過OAuth Token從代碼倉庫獲取源碼或調用API自動設置webhook,從而簡化用戶配置。服務器
<img src="https://rainbond-pkg.oss-cn-shanghai.aliyuncs.com/releases/5.1/5.1.9/oauth.gif" width="90%">架構
<center>OAuth流程演示</center>運維
查看更多Rainbond介紹:https://www.rainbond.com
新安裝:https://www.rainbond.com/docs/quick-start/rainbond_install/
升級到5.1.9:https://www.rainbond.com/docs/upgrade/5.1.8-5.1.9/
Rainbond RoadMap https://www.rainbond.com/docs/quick-start/roadmap/