一種創建CF服務實例的方法及裝置與流程
2023-09-22 21:47:15 5

本發明涉及計算機、信息處理等技術領域,具體地說是一種創建cf服務實例的方法及裝置。
背景技術:
cf(cloudfoundry)是vmware推出的業界第一個開源paas雲平臺,它支持多種框架、語言、運行時環境、雲平臺及應用服務,使開發人員能夠在幾秒鐘內進行應用程式的部署和擴展,無需擔心任何基礎架構的問題。同時,它本身是一個基於rubyonrails的由多個相對獨立的子系統通過消息機制組成的分布式系統,使平臺在各層級都可水平擴展,既能在大型數據中心裡運行,也能運行在一臺桌面電腦中,二者使用相同的代碼庫。
作為新一代雲應用平臺,cloudfoundry專為私有雲計算環境、企業級數據中心和公有雲服務提供商所打造。cloudfoundry雲平臺可以簡化現代應用程式的開發、交付和運行過程,在面對多種公有雲和私有雲選擇、符合業界標準的高效開發框架以及應用基礎設施服務時,可以顯著提高開發者在雲環境中部署和運行應用程式的能力。
app在運行的時候通常需要依賴外部的一些服務,比如資料庫服務、緩存服務、簡訊郵件服務等等。servicebroker就是app接入服務的一種方式。比如我們要接入mysql服務,只要實現cloudfoundry要求的servicebrokerapi即可。servicebroker就是實現了cf規定的一組restapi的服務端程序,它作用於cf與服務的資源池中間,cf通過調用servicebroker上這些規定的restapi對服務資源池進行管理,而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開發更敏捷簡單。
儘管已描述了本申請的優選實施例,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權利要求意欲解釋為包括優選實施例以及落入本申請範圍的所有變更和修改。
顯然,本領域的技術人員可以對本申請進行各種改動和變型而不脫離本申請的精神和範圍。這樣,倘若本申請的這些修改和變型屬於本申請權利要求及其等同技術的範圍之內,則本申請也意圖包含這些改動和變型在內。
除說明書所述的技術特徵外,均為本專業技術人員的已知技術。