更新时间:2022-04-07 05:58:40
2019年12月12日,Rainbond开源2周年纪念,我们带来了5.1.9版本,本次更新引入组件实例自动伸缩、代码仓库互联(OAuth2.0互联)两大功能,同时在系统高可用、系统服务自动运维、功能可用性等方面做大量优化。
弹性伸缩是指对于无状态类组件服务或有状态可水平伸缩类组件服务当业务量大时自动增加实例数量,以保证计算能力。当业务处理量下降时减少实例数量,以降低资源占用成本。本次实现我们采用Kubernetes 默认伸缩算法。
HPA Controller会通过调整副本数量使得某一指标尽量向期望值靠近,而且不是完全相等.另外,考虑到自动扩展的决策可能需要一段时间才会生效:例如当某一个组件实例的内存使用率一直上升并超过期望值,创建一个新实例的过程中,原实例的内存使用率还会持续上升。所以,在每一次作出决策后的一段时间内,将不再进行扩展决策。对于扩容而言,这个时间段为3分钟,缩容为5分钟。
HPA Controller中有一个tolerance(容忍力)的概念,它允许一定范围内的使用量的不稳定,现在默认为0.1,这也是出于维护系统稳定性的考虑。例如,设定HPA调度策略为内存使用率高于50%触发扩容,那么只有当使用率大于55%或者小于45%才会触发伸缩活动,HPA会尽力把实例的使用率控制在这个范围之间。
Ceil(采集到的使用率 / 用户自定义的使用率) * Pod数量)
对于指标当前版本支持资源使用类的内存(使用率、使用量)和CPU(使用率、使用量)指标。
组件弹性伸缩设置演示未来的版本中我们将支持用户自定义组件的业务能力指标,比如API服务暴露其每秒处理的请求数量,则可通过配置请求处理效率指标为实例伸缩指标,对于这类业务类指标将更能够及时准确的衡量业务伸缩的时机。除了扩充业务指标外,HPA Controller将联合网关模块、ServiceMesh模块来实现组件实例缩放到“0”的能力。这种能力对于企业长期不使用的应用或业务能够节省较多企业资源,这同时也是服务于FaaS的能力基础。
Rainbond基于源码新建或持续构建组件都直接与Git代码仓库交互。过去需要用户手动输入项目仓库地址,对于私有仓库还需要提供账号密码等信息。OAuth是目前最常用的开放授权通信协议,目前几乎全部Git代码仓库服务实现都支持基于OAuth2.0实现开放用户授权。当前版本Rainbond实现对Github、Gitlab、Gitee三类代码仓库服务的支持,用户授权后可直接获取用户项目列表、提供创建组件的快捷流程。通过OAuth Token从代码仓库获取源码或调用API自动设置webhook,从而简化用户配置。
OAuth流程演示查看更多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/