一种创建CF服务实例的方法及装置与流程

文档序号:11253795
一种创建CF服务实例的方法及装置与流程

本发明涉及计算机、信息处理等技术领域,具体地说是一种创建CF服务实例的方法及装置。



背景技术:

CF(Cloud Foundry)是VMware推出的业界第一个开源PaaS云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。同时,它本身是一个基于Ruby on Rails的由多个相对独立的子系统通过消息机制组成的分布式系统,使平台在各层级都可水平扩展,既能在大型数据中心里运行,也能运行在一台桌面电脑中,二者使用相同的代码库。

作为新一代云应用平台,Cloud Foundry专为私有云计算环境、企业级数据中心和公有云服务提供商所打造。Cloud Foundry云平台可以简化现代应用程序的开发、交付和运行过程,在面对多种公有云和私有云选择、符合业界标准的高效开发框架以及应用基础设施服务时,可以显著提高开发者在云环境中部署和运行应用程序的能力。

App在运行的时候通常需要依赖外部的一些服务,比如数据库服务、缓存服务、短信邮件服务等等。Servicebroker就是app接入服务的一种方式。比如我们要接入MySQL服务,只要实现Cloud Foundry要求的Servicebroker API即可。Servicebroker就是实现了CF规定的一组rest api的服务端程序,它作用于CF与服务的资源池中间,CF通过调用Servicebroker上这些规定的rest api对服务资源池进行管理,而Servicebroker实际执行这些资源池管理操作。

CF的关键之一是对服务实例的创建,在创建服务实例时,很多服务在接入CF之前必须事先创建好,无法实现服务的实时创建,灵活性便大打折扣。此外,CF框架规定,CF在服务实例创建时有2分钟的时间限制,超时则为创建超时。现实中很多平台的服务创建都是实时的,CF的这种时限机制使得跨平台对接遥不可及。因此,需要一种灵活的方式,解决上述问题。



技术实现要素:

本发明的技术任务是针对现有技术的不足,提供一种创建CF服务实例的方法及装置,解决现有CF无法实现服务实时创建、无法实现跨平台对接的问题。

本发明解决其技术问题所采用的技术方案是:

1、本发明提供一种创建CF服务实例的方法,该方法基于Servicebroker服务实例创建接口实现CF与服务的资源池内之间的通信,然后通过Java定时任务调用Servicebroker服务实例创建接口,获取用户的服务实例创建请求,触发CF根据所述服务实例创建请求完成服务实例的创建。

可选地,包括以下步骤:

1)用户通过Servicebroker服务实例创建接口,进入相应的服务环境发出服务实例创建请求;

2)服务实例创建请求发出时,触发Java定时任务,调用Servicebroker服务实例创建接口,同时获取CF的创建逻辑,避免触发时限问题;其中,CF的创建逻辑为:

若服务实例在规定时间内创建成功,则向CF返回创建接口运行成功的信息,并进行服务实例绑定操作;

若服务实例在规定时间内创建失败,则向CF返回创建接口运行失败的信息,并触发事件回滚机制,删除服务环境中的服务实例,同时删除CF中的服务实例信息;

3)通过所述Java定时任务,基于CF的创建逻辑,实现服务实例的实时创建,并对服务实例创建过程进行监控,将监控信息返回给CF。

可选地,所述规定时间不超过2分钟。

可选地,提供用户服务实例创建请求的各类平台间通过Java定时任务的扩展操作与CF无缝对接。

可选地,所述服务的资源池内包括待创建的服务实例和预先创建好的服务实例。

2、本发明提供一种创建CF服务实例的装置,包括:

接收单元,用于获取用户的服务实例创建请求;

Java定时单元,与接收单元相连,用于根据所述用户的服务实例创建请求,生成触发信号,并使之与用户的服务实例创建请求按照规定时间和创建逻辑协调工作;

监控单元,与Java定时单元相连,用于将所述用户的服务实例创建信息反馈给CF;

创建单元,与监控单元相连,用于若服务实例在规定时间内创建成功,则将用户的服务实例创建请求发送至CF,CF根据用户的服务实例创建请求创建服务;

事件回滚单元,与监控单元相连,用于若服务实例在规定时间内创建失败,则控制所述用户的服务实例创建请求回滚;

删除单元,与监控单元相连,用于若服务实例在规定时间内创建失败,则删除服务环境中的服务实例,同时删除CF中的服务实例信息。

可选地,还包括:

预创建单元,用于在服务的资源池内预先创建服务实例。

本发明的一种创建CF服务实例的方法及装置,与现有技术相比所产生的有益效果是:

通过本发明的方法可有效的解决各类Servicebroker中的实例创建必须同步的问题,做到异步创建服务实例的同时,不影响CF的正常使用。本发明以前,CF中的服务实例创建时间规定为2分钟且逻辑为同步操作,通过本发明中的定时任务,可有效的规避时限问题,使服务实例的创建变为异步操作,更加灵活、高效,同时增强了Servicebroker的通用性、易用性,还可实现跨平台连接等功能。因此,极具推广价值。

附图说明

附图1是本发明一种创建CF服务实例的方法的流程示意图;

附图2是本发明一种创建CF服务实例的装置的结构示意图。

具体实施方式

下面结合附图1,对本发明的一种创建CF服务实例的方法及装置作以下详细说明。

实施例一

本发明的一种创建CF服务实例的方法,该方法基于Servicebroker服务实例创建接口实现CF与服务的资源池内之间的通信,然后通过Java定时任务调用Servicebroker服务实例创建接口,获取用户的服务实例创建请求,触发CF根据所述服务实例创建请求完成服务实例的创建。

如附图1所示,本发明的一种创建CF服务实例的方法,包括以下步骤:

1)用户通过Servicebroker服务实例创建接口,进入相应的服务环境发出服务实例创建请求;

2)服务实例创建请求发出时,触发Java定时任务,调用Servicebroker服务实例创建接口,同时获取CF的创建逻辑,避免触发时限问题;

关键代码展示如下:

3)通过所述Java定时任务,基于CF的创建逻辑,实现服务实例的实时创建,并对服务实例创建过程进行监控,将监控信息返回给CF。其中,CF的创建逻辑为:

若服务实例在规定时间内创建成功,则向CF返回创建接口运行成功的信息,并进行服务实例绑定操作;

若服务实例在规定时间内创建失败,则向CF返回创建接口运行失败的信息,并触发事件回滚机制,删除服务环境中的服务实例,同时删除CF中的服务实例信息。

现将关键代码展示如下:

实施例二

在实施例一的基础上,实施例二所述规定时间不超过2分钟。

实施例三

在实施例一或二的基础上,实施例三Java定时任务可以扩展操作,提供用户服务实例创建请求的各类平台间通过Java定时任务的扩展操作与CF无缝对接。

实施例四

在实施例一、二或三的基础上,实施例四所述服务的资源池内包括待创建的服务实例和预先创建好的服务实例。

实施例五

如附图2所示,本发明的一种创建CF服务实例的装置,包括:

接收单元,用于获取用户的服务实例创建请求;

Java定时单元,与接收单元相连,用于根据所述用户的服务实例创建请求,生成触发信号,并使之与用户的服务实例创建请求按照规定时间和创建逻辑协调工作;

监控单元,与Java定时单元相连,用于将所述用户的服务实例创建信息反馈给CF;

创建单元,与监控单元相连,用于若服务实例在规定时间内创建成功,则将用户的服务实例创建请求发送至CF,CF根据用户的服务实例创建请求创建服务;

事件回滚单元,与监控单元相连,用于若服务实例在规定时间内创建失败,则控制所述用户的服务实例创建请求回滚;

删除单元,与监控单元相连,用于若服务实例在规定时间内创建失败,则删除服务环境中的服务实例,同时删除CF中的服务实例信息。

实施例六

在实施例五的基础上,实施例六还包括:预创建单元,用于在服务的资源池内预先创建服务实例。

本发明通过Servicebroker服务实例创建接口,结合Java定时任务技术完成对CF服务实例的异步创建,监控创建过程中的信息,成功解决CF在创建服务实例时的时限问题,在解决CF服务实例创建的时限问题同时,还能实现对多平台的连接,并且通过本发明中的事件回滚机制,也不用担心实例创建失败所带来的一系列问题,使CF的Servicebroker开发更敏捷简单。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

除说明书所述的技术特征外,均为本专业技术人员的已知技术。

再多了解一些
当前第1页 1 2 3
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1