功能列表

开发计划 发布周期

本文档列举Rainbond开源版具备的重点基础功能,随着版本升级本文档列举不一定完全,如有疑问请于社区留言咨询。

应用的部署

功能 功能描述
支持源代码持续构建 支持PHP源码编译,支持PHP源代码、PHP5.3~7版本运行时,apace、nginx构建应用,并支持流行的PHP开发框架
支持Java源码编译,支持Java(maven)源代码、war包、jar包构建应用,并支持流行的java开发框架
支持Python源码编译,支持Python源代码、Python 2.6~3.2运行时构建应用,并支持流行的Python开发框架
支持Node.js源码编译,支持Node.js源代码、Nods.js 6.x~10.x运行时构建应用,流行的Node.js开发框架,包括前端类项目。
支持Golang源码编译、Golang 1.8.x,1.9.x运行时构建应用,并支持流行的Golang开发框架
支持dotnet源码编译、支持选择多个版本的编译和运行环境(.netcore linux运行)
支持Dockerfile识别和构建,支持Dockerfile源码的方式构建应用
支持Helm Chart源码识别和构建(TODO)
Docker镜像持续构建 支持基于DockerRun命令识别服务运行方式构建服务组件
支持解析DockerCompose文件识别服务运行方式批量构建服务组件
支持从私有镜像仓库、公有镜像仓库获取Docker镜像
支持镜像仓库Webhook服务的持续部署与发布
支持集成Git源码仓库 分租户的代码仓库管理,针对不同的团队隔离代码仓库
支持GitWebhook自动回调功能,实现应用的持续部署与发布
支持代码分支、tag部署,支持使用不同的代码分支、tag构建应用
支持集成Svn源码仓库 支持从Svn代码仓库获取源码,支持账户授权和子目录构建
支持Windows应用创建 支持基于Dockerfile、镜像创建Windows类服务(.net或mfc架构传统应用)(TODO)
支持第三方服务集成管理 支持管理运行于Rainbond集群外的服务,并与Rainbond应用网关和ServiceMesh网络无缝集成。
支持应用12要素原则 平台遵循或兼容PaaS平台应用的12要素原则
一键部署及回滚 实时显示部署及回滚过程,应用的部署与回滚过程要实时可见,方便排查问题
版本构建历史可追溯,显示版本详细信息,要可以追溯到应用的各个部署版本及详细的部署信息,包括代码提交信息,操作人员等
支持自动不间断滚动升级,应用部署,升级过程中不能影响现有业务,提供不间断业务的升级机制
支持一键回滚,支持应用的快速回滚,且不应影响现有业务
支持自定义的pipeline 支持基于API 对接Jenkins Pipeline, Jenkins处理完成后由Rainbond完成后续CI/CD流程

服务管理与运维

功能 功能描述
服务生命周期管理 支持对服务的启动、停止、更新、升级、持续构建管理
支持无状态应用的滚动升级,升级过程不影响业务
支持有状态应用的滚动升级,集群服务升级过程不影响业务
支持基于应用市场的服务升级策略
支持针对应用操作的严格的权限管理机制与审计机制
服务配置管理 支持基于环境变量的服务配置管理
直接基于动态配置文件的服务配置管理
支持基于动态注入的连接信息配置管理
服务构建源管理 支持持续调整服务构建源设置
支持设置服务源码构建参数,根据不同的语言设置Runtime版本,编译参数等
服务日志管理 支持实时应用级汇总,存储,分割和实时展示,能实时显示应用的日志、汇总分析日志、日志存储与下载功能
支持基于插件对接ELK等日志分析服务,能够对接业界流行的日志分析工具,如ELK进行展示与分析
服务伸缩管理 支持不中断服务的的水平伸缩和垂直伸缩操作,平台应用应具备生产级(不中断业务)水平与垂直伸缩服务的能力
支持基于业务级分析指标的自动伸缩策略,平台具备根据业务分析指标来达到自动伸缩服务的能力(TODO)
服务高可用保证 支持便捷部署高可用分布式服务,将数据与计算分离,网关与计算分离。
赋予大多数Web服务分布式部署能力
服务性能分析与监控 支持常用应用协议的实时性能(响应时间和吞吐率)分析,支持常用应用协议,如HTTP、TCP、MYSQL的实时性能分析,如响应时间,吞吐率等功能
支持请求Top实时展示,应用的性能分析以列表的形式展示,并能将影响性能最大的URL/SQL语句进行排序
支持历史分析数据查询,应用的性能分析日志支持按小时与日期进行查询
支持服务实例实时状态展示和 实例内存实时状态展示和监控
服务健康检测 支持基于多种策略的应用健康检测,平台对运行的不同协议类型的应用进行实时的监控检查
支持不健康应用实例的自动下线,针对异常的应用,支持配置不同的处理策略
服务管理终端 支持基于web的终端管理,平台应用具备web 控制台功能,方便开发人员登录应用内部临时调试程序。
支持基于命令行的终端管理,平台应支持命令行的方式进行管理,如创建应用,启/停应用,扩容应用等操作

应用管理

功能 功能描述
应用级生命周期管理 支持应用级启动、停止、构建、升级操作
支持动态维护应用内部服务直接依赖关系
拓扑图可视化 全局业务拓扑实时状态展示,能实时显示业务组的连接(网络)拓补图展示功能
支持可视化编辑服务服务注册和服务发现
支持拓扑流量实时展示,具备拓扑图的流量监控及监控状态显示功能
应用备份与恢复 支持应用级整体全量备份
支持备份跨租户、跨数据中心迁移和恢复
支持备份数据的导入和导出
应用分享 支持应用分享到企业或团队内部市场或企业公有云市场
应用升级 基于应用市场的应用自动化升级和回滚

应用网关管理

功能 功能描述
HTTP应用访问策略 支持基于域名、访问路径、请求头、Cookie的访问路由控制
支持HTTPs访问策略
支持HTTP与HTTPs共存,HTTP Rewrite HTTPs策略
支持泛域名策略
自定义负载均衡算法,支持轮询算法,一致性Hash算法,Session粘连算法
TCP/UDP应用访问策略 默认支持基于IP+端口的TCP\UDP访问策略管理
支持内网IP和外网IP隔离的访问策略
TLS证书管理 支持导入第三方签发的TLS证书
支持证书的状态监控和管理
支持自动签发TLS证书(TODO)
虚拟IP池管理 支持集群虚拟IP资源池管理(TODO)
服务测试升级策略 支持A/B测试控制
支持灰度发布控制
服务安全控制 插件化支持JWT业务安全认证(5.2版本计划)
插件化支持白名单、黑名单控制管理(5.2版本计划)
插件化支持与第三方Auth2.0认证体系对接(5.2版本计划)
插件化支持WAF防火墙(5.2版本计划)
网关监控 对接Prometheus监控域名、服务的实时访问数据
监控网关运行的实时数据
服务访问日志管理 支持与第三方日志服务对接,发送服务访问日志到第三方平台(5.2版本计划)

应用插件的管理与设计

功能 功能描述
具备完善的应用高级功能扩展架构 服务除本身功能以外可以无侵入的扩展其他高级功能,例如防火墙,日志处理,性能分析,网络治理等,建立标准的应用插件体系规范非常关键。插件是独立存在,与应用绑定运行的程序,与应用具有相同的运行环境,可以定义插件独有的配置信息。
具备插件与应用协同工作的基础运行环境,例如提供服务发现,配置发现,环境配置等。
具有完善的应用插件开发,部署流程,与应用可以便捷的绑定。能够自助完成应用插件设计
应用插件支持标准化传播共享 应用插件具备标准化传播能力,可以单独或与应用绑定分享到应用市场
支持从应用市场安装和使用插件
提供常用的应用插件 提供生产可用的插件用例,例如日志分析、MySQL数据备份、应用性能分析、网络治理等。

微服务架构

功能 功能描述
提供Service Mesh架构支持 支持跨语言和跨协议服务调用
支持多种Service Mesh框架实现(envoy、linkerd等),针对不同场景可实时替换
支持服务自动注册和发现
支持透明的负载均衡,服务可以随时伸缩
支持服务治理:高级路由、限流、熔断机制
支持服务拓扑显示 通过拓扑图显示服务之间的依赖关系
支持服务动态编排 不需要修改配置文件,动态编排服务依赖关系
支持对接其他微服务架构 支持对接Dubbo
支持对接Spring cloud
支持API gateway 支持通过插件扩展API gateway的功能
支持对接第三方登录,对接Oauth 2.0
支持限流和熔断
支持访问控制
支持通过插件机制实现服务治理 故障处理及恢复,熔断/限流
传输加密
网络策略管理
性能分析
支持tracing
支持内部服务A/B测试和灰度发布
支持基于域名/Path/header的业务路由

应用市场管理

功能 功能描述 说明
应用发布和安装和升级 支持自助发布一组服务到应用市场,包括程序,环境与配置,数据,拓扑关系,插件扩展。
用户可以在应用市场一键安装,不需要懂技术
支持跨数据中心发布应用和安装应用
发布新版本后,应用可以一键升级
在线和离线的应用交付 支持应用市场间应用同步
支持应用导出安装包兼容 docker-compose。
支持应用离线导入与导出,导入后可以一键安装使用
应用市场展示功能 支持应用多级分类显示,用户可以分类筛选
支持应用搜索
显示应用名、logo、简介和版本
支持应用市场的审核机制
多级应用市场 支持三级应用市场隔离,发布应用时可选应用可见的粒度。
支持对接公有应用市场,其他应用市场

多数据中心管理

企业服务支持

系统运维平台

功能 功能描述
便捷的数据中心安装和升级 支持对数据中心内节点进行分类管理,例如分为:负载均衡节点,管理节点,存储节点,计算节点。实现对所有节点的统一管理
支持多个管理节点的在线,离线安装与升级,例如Kubernetes服务,平台管理服务
支持计算节点的安装与升级
支持对基础环境,如系统内核、docker、网络、存储的安装和升级
节点管理 支持基于命令行的节点管理

关于多租户管理,UI可视化运维,监控与报警系统等企业服务功能见企业服务支持

平台其他功能及技术架构

功能 描述
标准RestfulAPI开放设计,支持二次开发 支持应用标准化管理API开放,基于用户授权的安全验证策略
平台管理API开放,支持对用户,租户,权限等管理
资源管理API开放,支持对集群节点,资源调度情况进行管理
应用与资源解耦合 架构思路上应用不与计算资源绑定,支持根据需要随处迁移
支持多功能命令行工具 命令行工具支持应用的启动,停止,调度,综合状态查询功能
命令行工具支持租户查询,批量操作功能
命令行工具支持集群节点管理,资源调度管理
权限管理 支持在租户级别自定义角色名称,自定义分配权限,用户自定义支持多种角色
支持应用级别权限精确控制,可继承租户级别权限
控制权限严格验证,做到API级别安全控制
Overlay网络架构支持 支持多租户网络隔离的Overlay网络模型
支持虚拟机、容器统一的网络资源(IP,路由)自动化分配,虚拟机与容器可以同时组成租户网络
支持多种类型的存储系统对接 支持应用级别自助设置多种存储设备对接,包括:分布式文件系统,块设备,内存虚拟存储等
支持存储数据的备份,快照与恢复
应用调度系统 基于Kubernetes的docker容器调度系统,不必要暴露过多的容器技术概念,支持平台级的应用调度参数设置
支持自定义调度策略的设置和二次开发
服务间内部负载均衡 内部服务之间的访问能够自动进行服务发现和负载均衡
应用之间的负载均衡功能可插件化扩展,支持高级的服务治理

更多功能

关于SaaS化应用交付体系、企业级应用市场、企业资源管理平台、企业级监控报警系统以及更多的Rainbond企业级支持见 企业服务支持