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

时间:2022-02-17 21:14:34

  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)的方式来获取第三方服务的通信地址,赋予第三方服务以下能力:
  
  集成Rainbond内置的ServiceMesh架构,与集群内服务无缝互联,并提供服务通信治理功能。
  
  集成Rainbond 应用网关,统一管理服务外网访问。
  
  运行于不同环境和系统的业务系统统一管理和可视化,形成完整业务架构。
  
  更多第三方服务的说明和支持情况,见文档: 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源码创建多个服务模块的便捷服务创建方式,进一步提供用户创建服务的效率。
  class SchoolMember:
'''Represents any school member.'''
def __init__(self,name,age):
self.name = name
self.age = age
print('(Initialized www.gouyiflb.cn/ SchoolMember: %s)'%self.name)

def tell(self):
'''Tell my details.'''
print('Name:%s Age:%d'%(self.name,self.age))

class Teacher(SchoolMember):
'''Represents a teacher.'''
def __init__(self,name,age,salary):
SchoolMember.__init_www.dasheng178.com _(self,name,age)
self.salary =www.yongshiyule178.com salary
print('(Initialized Teacher: %s)' % self.name)

def tell(self):
SchoolMember.tell(self)
print('Salary:"%d"' % self.salary)

class Student(SchoolMember):
'''Represents a student.'''
def __init__(self, name, age, marks):
SchoolMember.__init__(self,name,age)
self.marks = marks
print('(Initialized Student: %s)' % self.name)

def tell(self):
SchoolMember.tell(self)
print('Marks: "%d"www.qwert888.com'%self.marks)

t = Teacher('Mr,Liu',25,3000)
s = Student('Swaroop', 22, 75)

print()

members = [t,s]
for member in members:
member.tell(www.365soke.com)

  除了上述提到的Rainbond V5.1版本大的功能变化以外,Rainbond还进行了大量的功能改进和优化。详细参考:
  
  开始你的Rainbond之旅
  
  你的企业是否也遇到过上文提到的种种影响你的产品开发和交付的效率的问题,不妨使用Rainbond来优化一下你的现有模式和体验。

Rainbond v5.1.2发布,微服务架构应用便捷管理和交付的更多相关文章

  1. 微服务架构基础之Service Mesh

    ServiceMesh(服务网格) 概念在社区里头非常火,有人提出 2018 年是 ServiceMesh 年,还有人提出 ServiceMesh 是下一代的微服务架构基础. 那么到底什么是 Serv ...

  2. 【DDD/CQRS/微服务架构案例】在Ubuntu 14.04.4 LTS中运行WeText项目的服务端

    在<WeText项目:一个基于.NET实现的DDD.CQRS与微服务架构的演示案例>文章中,我介绍了自己用Visual Studio 2015(C# 6.0 with .NET Frame ...

  3. Atitit&period;架构设计趋势 设计模式 ---微服务架构&&num;160&semi;&&num;160&semi;soa

    Atitit.架构设计趋势 设计模式 ---微服务架构  soa 什么是微服务架构?1 .微服务与SOA的关系 :微服务架架构师面向服务架构(SOA)的一种特定实现1 微服务与康威定律2 微服务的一些 ...

  4. Net分布式系统之五:微服务架构

    因工作较忙,抽时间将框架遇到的问题和框架升级设计进行记录. 一.背景&问题 之前框架是一个基于SOA思想设计的分布式框架.各应用通过服务方式提供使用,服务之间通信是RPC方式调用,具体实现基于 ...

  5. 基于&period;net的微服务架构的开发测试环境运维实践

    眼下,做互联网应用,最火的架构是微服务,最热的研发管理就是DevOps, 没有之一.微服务.DevOps已经被大量应用,它们已经像传说中的那样,可以无所不能.特来电云平台,通过近两年多的实践,发现完全 ...

  6. 使用Spring Cloud和Docker构建微服务架构

    原文:https://dzone.com/articles/microservice-architecture-with-spring-cloud-and-do 作者:Alexander Lukyan ...

  7. 微服务架构下的API网关

    顾名思义,是出现在系统边界上的一个面向API的.串行集中式的强管控服务,这里的边界是企业IT系统的边界,主要起到隔离外部访问与内部系统的作用.在微服务概念的流行之前,API网关的实体就已经诞生了,例如 ...

  8. 手把手教你使用spring cloud&plus;dotnet core搭建微服务架构:服务治理(-)

    背景 公司去年开始使用dotnet core开发项目.公司的总体架构采用的是微服务,那时候由于对微服务的理解并不是太深,加上各种组件的不成熟,只是把项目的各个功能通过业务层面拆分,然后通过nginx代 ...

  9. 微服务架构介绍和RPC框架对比

    微服务架构介绍和RPC框架对比 1.微服务架构 1.1 特征 自动化部署,端点智能化,语言和数据的去中心化控制. 1.2架构 一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中 ...

随机推荐

  1. windows&plus;ant&plus;git&plus;tomcat中ant直接获取git项目部署注意点

    最近项目搬迁到公司的"GitHub"上面原来的SVN的ant发布脚本要改下,于是百度ant获取git的方法太少了,windows平台上更是没有所以搞了两天,今天终于有点成果分享给大 ...

  2. android——handler机制原理

    在android版本4.0及之后的版本中多线程有明确的分工,子线程可以写所有耗时的代码(数据库.蓝牙.网络服务),但是绝对不能碰UI,想碰UI跟着主线程走,那么我们如何才能让主线程知道我们要对 UI进 ...

  3. LeetCode&lpar;&rpar; Range Sum Query-mutable

    http://www.java3z.com/cwbwebhome/article/article1/1369.html?id=4804 http://www.cnblogs.com/zichi/p/4 ...

  4. 使用OAuth打造webapi认证服务供自己的客户端使用(二)

    在上一篇”使用OAuth打造webapi认证服务供自己的客户端使用“的文章中我们实现了一个采用了OAuth流程3-密码模式(resource owner password credentials)的W ...

  5. 成为 Linux 终端高手的七种武器 之七 条件执行&&

    7.条件执行 Bash 也可以连续执行两条命令。 第二条命令仅在第一条命令成功执行后才会开始执行。如要如此,你可以通过键入“&&”,也就是两个“&”字符进行分隔,在同一行输入两 ...

  6. java设计模式和设计原则

    一.创建型模式 1.抽象工厂模式(Abstract factory pattern): 提供一个接口, 用于创建相关或依赖对象的家族, 而不需要指定具体类.2.生成器模式(Builder patter ...

  7. POJ 3835 &amp&semi;amp&semi; HDU 3268 Columbus’s bargain(最短路 Spfa)

    题目链接: POJ:http://poj.org/problem?id=3835 HDU:http://acm.hdu.edu.cn/showproblem.php?pid=3268 Problem ...

  8. Android之场景桌面&lpar;一&rpar;

    声明:转载请务必注明出处,本文代码和主题仅供学习交流,请勿用于商业用途. 引言:最近Android场景桌面开始流行起来了,跟原始的Android桌面相比,场景桌面能逼真的模拟各种自然物体,并且通过点击 ...

  9. 设置spring-boot的logging

    spring-boot默认使用logback来记录logger,spring-boot的包里面org.springframework.boot.logging.logback路径下面有一些配置文件,默 ...

  10. ANSI C、ISO C、Standard C联系与区别

    做C语言开发的人,经常会遇到“ANSI C”.“ISO C”与“Standard C”三种术语,经常会让人傻傻分不清楚.博主之前按也是搞不清三者的关系,于是某天下定决心,一定要搞清楚三者的关系,先百度 ...