Rainbond v3.7.0:实现企业级PaaS的稳定性

Rainbond v3.7.0:实现企业级PaaS的稳定性

Rainbond在v3.7.0版本中释出了大量平台稳定性更新,并在应用管理功能、安全性和系统安装三方面进行了部分优化。

作为IT基础系统平台,Rainbond从低耦合的架构设计、高可用的部署方式、自恢复与容错的设计三方面评估和保障分布式系统可用性,以最终达到无人值守的效果。

在低耦合架构设计方面,Rainbond将分布式系统抽象为管理、计算、存储等三类节点,不同节点属性由不同服务组件构成,以解除服务间耦合关系,同时对于不同节点,可用性的最低要求也不尽相同 ——

  • 管理节点:面向用户,提供应用构建、控制、调度、交付以及数据存储等系列管理功能,在异常情况下没有管理节点,已有应用依然能正常运行

  • 计算节点:负责实际运行应用并为应用运行提供环境保障,在异常情况下可以容忍降级,将应用调度到其他计算节点运行

  • 存储节点:用于存储应用持久化数据并提供数据访问服务,存储节点异常,无状态应用依然可以正常运行。

为了更好地保证高可用的部署,Rainbond本身所有模块和组件均支持高可用 ——

  • 管理节点:支持等幂部署多个节点以保证高可用

  • 计算节点:等幂部署多个计算节点以组建冗余资源池,从而容忍单节点资源限制或故障

  • 存储节点:采用冗余部署的方式形成存储资源池,对计算节点提供稳定服务,任何存储节点故障,业务不会中断,数据也不会丢失。

在自恢复与容错的服务设计方面,为了消除用户在维护大型集群组件和服务时的手动工作,Rainbond同样将节点属性划分为管理节点、计算节点、存储节点,并做严格区分,使不同节点属性下运行不同服务列表。所有的服务采用Systemd进行进程守护,在保证进程健康的同时,每个节点Node组件对当前节点的所有服务,硬件,网络通信情况进行实时不间断检查和评估,以检查出每一个服务和节点的健康状态,并最终汇聚成数据中心整体健康状态,Rainbond用户在大多数情况下不需要关注每一个组件,只需要观察数据中心或节点的健康状况即可。

当服务出现异常情况时,区分不同的异常类别触发不同的动作,比如:“重启”、“报警”等,恢复服务的可用性。

另外,Rainbond提供的独立的节点检查和管理机制,对Kubernetes对计算节点的自动化维护进行了有力的补充,例如对于大型集群,某个节点出现网络无法分配,镜像无法获取等错误导致节点不健康时,平台自动下线该节点,禁止新应用调度到此节点,最大化的降低应用调度错误。

以上即Rainbond对于评估和保证系统可用性的三方面思考和设计,在功能点上的具体体现如下:

  1. 所有平台服务使用Systemd进程级守护加Rainbond-Node业务级健康检查守护,保障服务健康运行

  2. 所有平台服务支持健康检查和Prometheus的监控指标暴露

  3. 管理节点支持上线和下线以隔离由于节点故障导致平台不可用

  4. 计算节点健康检查异常时支持自动隔离和恢复

  5. 支持配置自定义报警规则用于对节点物理监控,服务监控的报警

  6. 租户使用资源(内存、磁盘)的统计由单个节点完成(Rainbond-Worker Master节点故障时自动切换)

  7. 支持通过命令行工具便捷查询数据中心健康状态、所有节点健康状态。

640?wx_fmt=png

640?wx_fmt=png

在稳定性方面,Rainbond下一步会增加 混沌工程方面的实践。

其他更新

应用管理功能

本次更新进一步完善了应用管理和交付体系。

首先,Rainbond为svn用户和.net core用户提供平台支持,内置了.Net Core 2.1版本的编译和运行环境,用户只需要提供标准的代码即可一键上云(.Net Core其他版本的用户可以采用定义Dockerfile方式)。

其次,Rainond进一步提供了API方式直接对接Jenkins CI\CD流程的支持,推荐用户在平台内直接部署Jenkins并通过API与平台进行对接。

另外,对于微服务架构产品标准化交付,Rainbond支持将应用、插件统一分享为一个综合的业务系统,并通过应用市场快捷交付。

具体更新清单如下——

  1. 支持 .NetCore(2.1)语言一键构建应用,运行于Linux系统

    640?wx_fmt=gif

  2. 支持对接SVN代码仓库持续构建应用

    640?wx_fmt=gif

  3. 增加自动构建的入口,支持通过自定义API、Gitee-Webhook、Gogs-Webhook触发自动构建,更好的于第三方CI系统集成。

    640?wx_fmt=png

  4. 支持应用+插件完整交付应用市场,并从市场安装应用+插件完整业务系统,提供了业务+治理功能扩展绑定的完整软件交付模式

    640?wx_fmt=gif

  5. Dockerfile构建支持ARG参数

  6. 支持基于Git仓库的代码Tag构建应用

  7. 支持应用创建后重新识别语言类型

安全性

  1. 数据中心出口API与控制台、命令行工具等客户端使用TLS双向安全认证

  2. 用户注册功能管理员可控制,用户加入团队需管理员审核

系统安装

通过简化调整安装步骤、分离资源获取与节点安装,本次更新后,Rainbond将统一支持在线安装和离线安装,解决了部分用户由于网络环境原因导致无法安装Rainbond的问题。

  1. 支持Centos7.4.1709、Ubuntu16.04、Debian9.5完全的离线安装

  2. 支持管理节点水平扩容

关于Rainbond

Rainbond是一款以应用为中心的开源PaaS,由好雨基于Docker、Kubernetes等容器技术自主研发,可作为公有云或私有云环境下的应用交付平台、DevOps平台、自动化运维平台和行业云平台,或作为企业级的混合云多云管理工具、Kubernetes容器管理工具或Service Mesh微服务架构治理工具。

  • Rainbond项目网站

  • 试用Rainbond 演示账号/密码:rainbond-demo/rainbond-demo

  • Github

  • 码云

  • 文档

  • 微信群: 添加微信“zqg5258423”并接受邀请入群


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com 

640?wx_fmt=jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/320388.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

简单多边形三角化(暴力)

简单多边形三角化(暴力) 说在前面 网上流传着各种神奇的多边形三角剖分算法,但是讲道理,实现难度太高了。。。也没有搜到其他人的实现。这里写个最暴力的做法。。随机数据验证没问题,欢迎 hack 实现 一个简单多边形的耳朵定义为:如…

牛客网【每日一题】4月13号 Accumulation Degree

文章目录题目描述样例分析:题意:题解:代码:本题目传送题目树学是这个题的简易版,也涉及换根问题,可以先看看这个 树学 时间限制:C/C 1秒,其他语言2秒 空间限制:C/C 32768…

微软把UWP定位成业务线应用程序开发平台

微软把UWP定位成传统业务线(LOB)应用程序开发平台,以使用Windows Template Studio实现快速应用程序开发为重点。但是,为了把LOB开发人员吸引到UWP平台,他们在做的事情不止这些。最初发布时,通用Windows平台…

读 《CSharp Coding Guidelines》有感

C# 编程指南前不久在 Github 上看见了一位大牛创建一个仓库:CSharpCodingGuidelines,打开之后看了一下 readme.md 相关描述,感觉应该很不错,于是就 clone 到本地拜读一下,这里列一些自己的笔记,方便日后回顾…

牛客网 【每日一题】4月10日 二分图染色(弱化版)

精讲 组合、容斥 文章目录题目:题意&&题解::代码:题目传送题目: 时间限制:C/C 1秒,其他语言2秒 空间限制:C/C 524288K,其他语言1048576K 64bit IO Format: %lld …

微软Windows Community Toolkit一览

为了满足业务线开发人员的需求,微软推出了Windows Community Toolkit。这个快速变化的库充当了新的UWP控件和功能的测试基础。在创建UWP之初,其重点目标是智能手机和平板电脑。这意味着大部分开发预算都花费在控件上,确保这些控件能够在有限的…

如何简单的在 ASP.NET Core 中集成 JWT 认证?

前情提要:ASP.NET Core 使用 JWT 搭建分布式无状态身份验证系统文章超长预警(1万字以上),不想看全部实现过程的同学可以直接跳转到末尾查看成果或者一键安装相关的 nuget 包自上一篇介绍如何在 ASP.NET Core 中集成 JWT 的博文发布…

【二分】【暴力】蛋糕(gmoj 3918)

蛋糕 gmoj 3918 题目大意: 有一个蛋糕,分成n∗mn*mn∗m个单位,现在横竖各切三刀,使其分成16个矩阵,使价值最小的矩阵价值最大 输出样例 5 5 95998 21945 23451 99798 74083输入样例 3数据范围 40%的数据&#x…

Music Problem

文章目录题目描述题意:题解:传送时间限制:C/C 2秒,其他语言4秒 空间限制:C/C 131072K,其他语言262144K 64bit IO Format: %lld 题目描述 Listening to the music is relax, but for obsessive(强迫症), it …

可扩展架构设计的三个维度

业界对于可扩展的系统架构设计有一个朴素的理念,就是:通过加机器就可以解决容量和可用性问题这一理念在“云计算”概念疯狂流行的今天,得到了广泛的认可!对于一个规模迅速增长的系统而言,容量和性能问题当然是首当其冲的。但是随着…

.NET Core开发日志——简述路由

有过ASP.NET或其它现代Web框架开发经历的开发者对路由这一名字应该不陌生。如果要用一句话解释什么是路由,可以这样形容:通过对URL的解析,指定相应的处理程序。回忆下在Web Forms应用程序中使用路由的方式:然后是MVC应用程序&…

博客开通

开通博客第一天,纪念一下——

.NetCore Cap 结合 RabbitMQ 实现消息订阅

开源分布式消息框架 Cap 可以在GitHub上拉也可以通过nuget添加上一篇博文写了 Windows RabbitMQ的安装使用 Cap支持事务,通过捕获数据库上下文连接对象实现 消息事务,消息持久化怎么来实现消息订阅 消费?使用起来非常简单,主要通过…

小H和游戏

文章目录题目描述题解:传送时间限制:C/C 2秒,其他语言4秒 空间限制:C/C 262144K,其他语言524288K 64bit IO Format:%lld 题目描述 小H正在玩一个战略类游戏,她可以操纵己方的飞机对敌国的N座城市(编号为1~N…

asp.net core 发布到 docker 容器时文件体积过大及服务端口的配置疑问

在 asp.net core 发布时,本人先后产生了3个疑问。1、发布的程序为什么不能在docker容器中运行当时在window开发环境中发布后,dotnet xxx.dll可以正常运行;但放入docker容器后就报 *.*.deps.json not found 的错误。后根据下面的文章解决了问题…

水题(water)(非详细解答)

传送 时间限制:C/C 1秒,其他语言2秒 空间限制:C/C 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 其中,f(1)1;f(2)1;Z皇后的方案数:即在ZZ的棋盘上放置Z个皇后,使其互不攻击的方案数。…

网络流小结

最大流&#xff1a; EK算法&#xff1a; #include<iostream> #include<cstring> #include<cstdio> #include<queue> using namespace std; const int inf0x7fffffff; const int maxn10010; struct node{int u,v,f,next; }edge[300050]; int s,t,cnt,…

.NET MVC CSRF/XSRF 漏洞

最近我跟一个漏洞还有一群阿三干起来了……背景&#xff1a;我的客户是一个世界知名的药企&#xff0c;最近这个客户上台了一位阿三管理者&#xff0c;这个货上线第一个事儿就是要把现有的软件供应商重新洗牌一遍。由于我们的客户关系维护的非常好&#xff0c;直接对口人提前透…

jzoj5057-[GDSOI2017模拟4.13]炮塔【网络流,最大权闭合图】

正题 题面链接:https://gmoj.net/senior/#main/show/5057 题目大意 n∗mn*mn∗m的网格上有一些炮和敌军&#xff0c;每个炮可以攻击在它方向上一个敌军&#xff0c;但是要求炮弹的轨迹不能交叉。求最多打死多少敌军。 解题思路 我们先把炮分成两类&#xff0c;一类是横着打&a…

讲一下Asp.net core MVC2.1 里面的 ApiControllerAttribute

正文ASP.NET Core MVC 2.1 特意为构建 HTTP API 提供了一些小特性&#xff0c;今天主角就是 ApiControllerAttribute。0. ApiControllerAttribute 继承自 ControllerAttributeASP.NET Core MVC 已经有了ControllerAttribute&#xff0c;这个用来标注一个类型是否是Controller。…