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/