Rainbond v5.1.2发布,微服务架构应用便捷管理和交付

Rainbond是开源的企业应用云操作系统,支撑企业应用的开发、架构、交付和运维的全流程,通过无侵入架构,无缝衔接各类企业应用,底层资源可以对接和管理IaaS、虚拟机和物理服务器。

2019年3月,Rainbond发布v5.1版本,经过1个月在上百家企业的实际使用,团队持续跟进版本缺陷,迄今为止发布了2个BUG修复版本。

Rainbond开源产品的目标是成为企业IT系统的云操作系统,作为基础平台支持各行各业的企业用户,优化IT软件开发企业的开发流程和交付流程,做到一站式开发和交付。作为广大行业IT厂商的合作伙伴,为其提供稳定的、好用的、高效的基础平台,服务于行业软件的架构、开发和交付,Rainbond在这条路上砥砺前行。在V5.1版本中我们引入了以下功能体系来服务用户。

支持第三方微服务集成和管理

Rainbond在众多的企业中落地使用的过程中出现了两类共同的问题:

  • 循序渐进的迁移策略,已经上Rainbond的服务如何与遗留服务通信和统一管理。
  • Rainbond应用网关很好用,但是遗留的服务没办法与Rainbond上的服务共享外网端口或域名。

Rainbond V5.1版本中在提出了第三方服务的概念,即将运行于Rainbond集群外且与Rainbond可以正常网络通信的服务称为第三方服务。对于此类服务,我们支持以静态注册、动态注册(Etcd、Zookeeper、Consule)的方式来获取第三方服务的通信地址,赋予第三方服务以下能力:

  1. 集成Rainbond内置的ServiceMesh架构,与集群内服务无缝互联,并提供服务通信治理功能。
  2. 集成Rainbond 应用网关,统一管理服务外网访问。
  3. 运行于不同环境和系统的业务系统统一管理和可视化,形成完整业务架构。

更多第三方服务的说明和支持情况,见文档: Rainbond支持第三方服务集成

此功能发布之后,在阿里云运行Rainbond的企业用户可以更便捷的对接阿里云的RDS资源。更加充分的利用云资源以降低企业维护IT系统的成本。

支持微服务启动顺序

在一个复杂微服务架构下,一些服务必须依赖于另一些服务才能正常工作,如何根据依赖关系处理服务的启动顺序是简化复杂微服务架构管理的关键。

Rainbond实现了根据依赖关系自动处理服务的启动顺序,当被依赖的服务正常工作后,才会启动后续服务,依次迭代启动所有服务。

这方面的功能实现主要在体现Rainbond的主要抽象层次,我们比较清楚的是docker的抽象层次是容器级别,kubernetes的抽象层次主要可以认为是服务级别(Pod级别),Rainbond的关键抽象层是更高的应用级,特别是微服务架构盛行的今天,服务组件多,对于大多数业务程序都需要手动的控制启动顺序来确保整个业务的正常工作。Rainbond能够做到能够做到在应用级整体控制生命周期和其他自动化运维。

此功能发布后在某工业互联网软件企业用户中创造了较大价值,一个完整的工业互联网APP开发平台由20多个服务组件构成,过去他们每交付一个工厂的交付成本需要一个熟练的交付工程师出差调试大概2天才能基本完成。其中主要的就是需要熟练掌握服务之间的依赖关系,启动顺序,服务配置,这还是建立在他们产品的成熟度已经比较高。后期这一套业务系统交付用户的运维成本也非常大。当使用Rainbond作为基础交付平台以后,他们通过1天的时间将所有服务完整部署的Rainbond并发布于应用市场。由于Rainbond完整的应用系统生命周期控制和启动顺序控制,实现了完整的工业互联网APP开发平台的一键部署,10分钟完成业务可工作。对于最终用户来说也可以更加直观的运维管理业务系统。

源码构建系统升级

基于源代码持续构建服务是Rainbond用户使用最多的功能之一,既5.0版本作较大升级以后,5.1版本继续带来升级,在Java、PHP、NodeJS等常用语言方面支持更加完善:

  • 增加对NodeJS前端项目源码类型的支持,可以部署Vue和React。
  • Java-Maven增加maven编译参数的UI配置。
  • 所有Java类型支持OpenJDK版本和OracleJDK版本的UI配置。
  • PHP、静态语言支持UI选择中间件类型和版本。
  • 将公共代码模块和资源从云端本地化、更好的支持离线环境下源码构建
  • 支持服务源码类型重新检测和变更

另外Rainbond对各类型源码的支持规范文档进行了更加细致的描述,请参考 Rainbond源码支持规范

从源码构建主要服务于开发场景,目前还是有较多的企业开发者出于学习成本无法定义优质的Dockerfile,直接使用Rainbond提供的基于源代码构建的机制是开发者使用Rainbond发布服务最易用的方式。

我们从用户使用中总结发现目前开发语言最多的依然是Java,因此Rainbond对Java语言支持的持续优化依然是V5.1版本的重点,其中有大量用户使用的是SpringCloud,因此Rainbond将在V5.1后续小版本中增加直接基于Maven源码创建多个服务模块的便捷服务创建方式,进一步提供用户创建服务的效率。

除了上述提到的Rainbond V5.1版本大的功能变化以外,Rainbond还进行了大量的功能改进和优化。详细参考:

github.com/goodrain/ra…

github.com/goodrain/ra…

github.com/goodrain/ra…

开始你的Rainbond之旅

你的企业是否也遇到过上文提到的种种影响你的产品开发和交付的效率的问题,不妨使用Rainbond来优化一下你的现有模式和体验。

Rainbond 安装参考手册 www.rainbond.com/docs/quick-…

Rainbond 使用参考手册 www.rainbond.com/docs/user-m…

Rainbond 进阶场景手册 www.rainbond.com/docs/advanc…

转载于:https://juejin.im/post/5ca2af22f265da3092005e22

Rainbond v5.1.2发布,微服务架构应用便捷管理和交付相关推荐

  1. 系统部署文档_惊喜!Alibaba架构师终于发布“微服务架构与实践”文档

    前言: 对于微服务架构的概念,相信大家应该都不陌生,无论使用 Apache Dubbo.还是 Spring Cloud,都可以去尝试微服务,把复杂而庞大的业务系统拆分成一些更小粒度且独立部署的 Res ...

  2. 代码管理规范_微服务架构下代码管理规范

    当下对于代码的管理,主要采用GitLab或GitHub,然而使用git进行代码管理过程中,一般有四种开发模式,分别为主干开发主干发布,主干开发分支发布,分支开发主干发布,分支开发分支发布.四种开发模式 ...

  3. svn如何取消某个文件的版本管理_微服务架构如何统一管理工程配置文件

    面临的问题 在分布式微服务架构系统中,业务和系统功能被拆分成了几十甚至上百个服务实例.每个服务实例就是以往单体应用时代的一个独立部署的工程.每个工程都需要自己独立的启动加载和运行时配置文件. 在项目开 ...

  4. 微服务架构下文档管理规范

    如果使用微服务架构进行应用开发,微服务的开发过程中,会产生许许多多的文档,其中包括需求文档.设计文档.开发文档.测试文档.运维文档以及各种项目管控文档.而且微服务的开发,一般都会引入敏捷的开发模式,虽 ...

  5. SpringCloud微服务架构实战库存管理与分布式文件系统

    库存管理与分布式文件系统 在电商平台的库存管理系统设计中,将涉及商品和本地图库的管理,这里我们将使用另一种数据开发框架 MyBatis进行数据库访问方面的设计,还将实现与分布式文件系统的对接使用. 本 ...

  6. 如何在微服务架构下进行数据设计?

    作者:唐建法 && Mongoing中文社区 来自:http://www.mongoing.com/ 微服务是一个软件架构模式,对微服务的讨论大多集中在容器或其他技术是否能很好的实施微 ...

  7. 微服务架构·基础篇,傻瓜看了都会

    转自:cyfonly 看到最近"微服务架构"这个概念这么火,作为一个积极上进的程序猿,成小胖忍不住想要学习学习.而架构师老王(不是隔壁老王)最近刚好在做公司基础服务的微服务化研究和 ...

  8. 一文详解微服务架构的数据设计

    微服务是一个软件架构模式,对微服务的讨论大多集中在容器或其他技术是否能很好的实施微服务这些方面. 本文将从以下几个角度来和大家分享在微服务架构下进行数据设计需要关注的地方,旨在帮助大家在构建微服务架构 ...

  9. 与我一起学习微服务架构设计模式1—逃离单体地狱

    单体地狱 单体架构的好处: 应用的开发很简单 易于对应用程序进行大规模的更改 测试相对简单直观 部署简单明了 横向扩展不费吹灰之力 什么是单体地狱: 过度的复杂性 系统过于庞大.复杂,任何一个开发者很 ...

最新文章

  1. 2020 年最全 Python 面试题汇总 (一)
  2. v3s 全志_基于全志V3s的开源开发板,提供pcb和系统源码和资料
  3. Windows的Win键被自动按下解决方案
  4. QT开发(十)——QT输入组件
  5. java中regex_Java 9中的新Regex功能
  6. 如何不使用Java 8默认方法
  7. javascript 验证身份证
  8. 流量计算机组成keypad,曾经的我
  9. php高校学生户籍档案管理系统
  10. 王者荣耀苹果微信哪个服务器最强,王者荣耀:国服最高战力!这三个英雄最高战力比拼ios微信区完胜...
  11. Verilog基础知识-——计数器设计以及任意分频设计与modelsim仿真
  12. SAP - 采购价格确定 ①
  13. RC并联电路常见应用总结
  14. Javascript特效:音乐钢琴
  15. C语言free如何知道要free多大的空间
  16. ABCD……组成菱形
  17. 记录一次学习通接口分析
  18. Linux操作备忘录
  19. reading 摘录一
  20. yjv是电缆还是电线_YJV电缆与YJY电缆哪个价格高,两者的区别是什么?

热门文章

  1. boost::mp11::mp_any_of_q相关用法的测试程序
  2. boost::intrusive::function_hook用法的测试程序
  3. boost::hana::greater用法的测试程序
  4. boost::function_types::parameter_types用法的测试程序
  5. GDCM:gdcm::Item的测试程序
  6. Boost:compute::copy的复制数据测试程序
  7. DCMTK:OFStandard类中的double / ascii转换方法的测试代码
  8. DCMTK:DSRDocument类的测试程序
  9. VTK:PolyData之TransformFilter
  10. VTK:图片之ResizeImage