成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Cloud Foundry Service Broker開發(fā)部署實(shí)例解析(上)

云計(jì)算
Cloud Foundry(CF)通過buildpack擴(kuò)展運(yùn)行不同語言應(yīng)用的能力,通過service broker(SB)擴(kuò)展支持應(yīng)用所需的各種關(guān)系數(shù)據(jù)庫、中間件、緩存、云存儲、內(nèi)存數(shù)據(jù)庫等各種服務(wù)的能力。這篇博文將從頭至尾介紹通用的SB開發(fā)和部署。

Cloud Foundry(CF)通過buildpack擴(kuò)展運(yùn)行不同語言應(yīng)用的能力,通過service broker(SB)擴(kuò)展支持應(yīng)用所需的各種關(guān)系數(shù)據(jù)庫、中間件、緩存、云存儲、內(nèi)存數(shù)據(jù)庫等各種服務(wù)的能力。這篇博文將從頭至尾介紹通用的SB開發(fā)和部署。

[[130782]]

什么是service broker

SB就是實(shí)現(xiàn)了CF規(guī)定的一組rest api的服務(wù)端程序,它作用于CF與服務(wù)的資源池中間,CF通過調(diào)用SB上這些規(guī)定的rest api對服務(wù)資源池進(jìn)行管理,而SB實(shí)際執(zhí)行這些資源池管理操作。比如,對于oracle而言,管理意味著管理服務(wù)計(jì)劃(即create/drop profile)、創(chuàng)建/綁定/解綁/刪除服務(wù)實(shí)例(即create tablespace、create user、drop user、drop tablespace)。下面給出SB需要實(shí)現(xiàn)rest api列表,理論上有了這張表,隨便用什么語言寫個(gè)web service的服務(wù)端就行了,這些接口中有幾個(gè)是博主為實(shí)現(xiàn)本文的開發(fā)和部署過程自行添加的。

METHODURL用途

Cloud Foundry service broker開發(fā)部署實(shí)例解析

開發(fā)

本文給出的SB使用java(spring)開發(fā)的,使用了hibernate,基本思路是下載源代碼,按照下面的描述修改必要的實(shí)現(xiàn),然后打包就可以開始部署了。這一SB的基本思路是將已有的資源池的授權(quán)信息存儲到SB中,不自動化的做任何部署和管理工作,所以理論上,這個(gè)SB是用于任何服務(wù)的管理。

準(zhǔn)備

首先下載源代碼,這代碼是個(gè)gradle工程,首先得準(zhǔn)備好開發(fā)環(huán)境,不管用原生eclipse還是sts,都得先安裝gradle support,以STS為例,下載解壓后,打開集成開發(fā)環(huán)境,在dashborad-》IDE EXTENSIONS中,搜索gradle support并安裝。將源代碼解壓,在STS的package explorer中import gradle project,選擇到解壓的目錄,build model,然后點(diǎn)擊finish。

修改源代碼

 

  1. src/main/resources/ServiceDescription.json 

這個(gè)文件是json格式服務(wù)的描述信息,程序***運(yùn)行時(shí),會將此json作為創(chuàng)建新服務(wù)的輸入

  • name:服務(wù)的唯一標(biāo)識
  • description:顯示在UI里的描述信息
  • bindable:true
  • tags:關(guān)鍵字
  • longDescription:顯示在UI里的詳細(xì)描述信息
  • imageUrl:顯示在GUI里的圖片地址
  • displayName:顯示在GUI里的服務(wù)名稱
  • providerDisplayName:顯示在GUI里的服務(wù)供應(yīng)商名稱
  • documentationUrl:顯示在GUI里的服務(wù)文檔地址
  • supportUrl:顯示在GUI里的服務(wù)支持網(wǎng)站
  1. src/main/java/com/pivotal/cf/broker/config/AppConfig.java和RelationalCloudDataSourceConfig.java 

將這兩個(gè)文件中的mdsbrokerdb修改為下一步部署在CF上時(shí)綁定的MySQL服務(wù)實(shí)例名稱,比如samplebrokerdb

  1. src/main/java/com/pivotal/cf/broker/model/PlanMetadataRes.java 

將下面的屬性替換為管理的資源所需的授權(quán)信息,當(dāng)然也要修改屬性對應(yīng)的setter和getter

  1. @JsonProperty("kcxpaddr"
  2.  
  3. private String kcxpaddr; 
  4.  
  5. @JsonProperty("kcxpport"
  6.  
  7. private String kcxpport; 
  8.  
  9. @JsonProperty("rvipaddr"
  10.  
  11. private String rvipaddr; 
  12.  
  13. @JsonProperty("rvport"
  14.  
  15. private String rvport; 
  16.  
  17. @JsonProperty("username"
  18.  
  19. private String username; 
  20.  
  21. @JsonProperty("password"
  22.  
  23. private String password;1234567891011121314151617 
  • src/main/java/com/pivotal/cf/broker/model/ServiceInstance.java

將下面的屬性替換為管理的資源所需的授權(quán)信息,當(dāng)然也要修改對應(yīng)的構(gòu)造函數(shù)

  1. @JsonSerialize 
  2.  
  3. @JsonProperty("kcxpaddr"
  4.  
  5. @Column(name="kcxpaddr"
  6.  
  7. private String kcxpaddr; 
  8.  
  9. @JsonSerialize 
  10.  
  11. @JsonProperty("kcxpport"
  12.  
  13. @Column(name="kcxpport"
  14.  
  15. private String kcxpport; 
  16.  
  17. @JsonSerialize 
  18.  
  19. @JsonProperty("rvipaddr"
  20.  
  21. @Column(name="rvipaddr"
  22.  
  23. private String rvipaddr; 
  24.  
  25. @JsonSerialize 
  26.  
  27. @JsonProperty("rvport"
  28.  
  29. @Column(name="rvport"
  30.  
  31. private String rvport; 
  32.  
  33. @JsonSerialize 
  34.  
  35. @JsonProperty("username"
  36.  
  37. @Column(name="username"
  38.  
  39. private String username; 
  40.  
  41. @JsonSerialize 
  42.  
  43. @JsonProperty("password"
  44.  
  45. @Column(name="password"
  46.  
  47. private String password;1234567891011121314151617181920212223242526272829 

 

  • src/main/java/com/pivotal/cf/broker/model/ServiceManagementImpl.java

createInstance()中,修改ServiceInstance instance = new ServiceInstance的參數(shù),輸入正確的授權(quán)信息

removeServiceInstance()中,將下面代碼修改為正確的授權(quán)信息

  1. res.setKCXPAddr(instance.getKCXPAddr()); 
  2.  
  3. res.setKCXPPort(instance.getKCXPPort()); 
  4.  
  5. res.setRVIPAddr(instance.getRVIPAddr()); 
  6.  
  7. res.setRVPort(instance.getRVPort()); 
  8.  
  9. res.setUserName(instance.getUserName()); 
  10.  
  11. res.setPassword(instance.getPassword());123456 

createInstanceBinding(),將下面代碼修改為正確的授權(quán)信息

  1. credentials.put("KCXPAddr0", instance.getKCXPAddr()); 
  2.  
  3. credentials.put("KCXPPort0", instance.getKCXPPort()); 
  4.  
  5. credentials.put("RVIPAddr", instance.getRVIPAddr()); 
  6.  
  7. credentials.put("RVPort", instance.getRVPort()); 
  8.  
  9. credentials.put("UserName",instance.getUserName()); 
  10.  
  11. credentials.put("Password",instance.getPassword());123456 

編譯打包

在STS的package explorer中,右鍵單擊項(xiàng)目,run as-》gradle build,如果是初次運(yùn)行,輸入下面的編譯打包gradle命令,run即可:

  1. clean 
  2.  
  3. build 
  4.  
  5. assemble123 

至此,我們就得到了程序包,下面就可以開始部署了。
 

責(zé)任編輯:Ophira 來源: 云計(jì)算實(shí)務(wù)博客
相關(guān)推薦

2015-03-30 15:15:00

CloudFoundrPaaS開源

2011-05-06 15:37:10

Service BroSQL Server

2011-04-22 10:13:42

Cloud FoundAzure

2015-04-14 11:10:22

PaaSCloudFoundrBuildpack

2015-06-09 10:36:13

Cloud FoundAzurePaaS

2013-04-26 17:38:52

大數(shù)據(jù)全球技術(shù)峰會

2018-08-22 18:16:47

2012-07-19 09:13:40

VMware云計(jì)算Cloud Found

2017-07-17 15:50:17

微服務(wù)Docker架構(gòu)

2012-12-07 10:00:25

SpringOneCloud FoundVMware

2011-05-06 15:48:35

Service BroSQL Server

2012-05-14 10:49:25

Cloud Found

2013-10-23 10:21:57

OpenStack

2009-12-01 10:49:44

Visual Stud

2012-03-27 11:40:55

vmwareCloud Found

2014-03-07 09:26:46

PaaSCloud Found

2015-12-16 11:11:52

Cloud FoundSpring云計(jì)算

2015-04-24 09:33:11

Cloud Found組件分析PaaS

2011-11-15 16:48:58

Zend Studio

2022-07-03 06:58:46

deno開發(fā)nodejs
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 7777在线视频免费播放 | 成人免费影院 | 在线视频91 | 日韩成人免费视频 | 九九视频在线观看视频6 | 欧美亚洲视频在线观看 | 国产视频在线观看一区二区三区 | 成人免费在线观看 | www.一区二区三区 | 91社区在线观看 | 在线观看av网站永久 | 国产一区2区 | 可以在线看的黄色网址 | 日韩在线播放一区 | 深夜福利影院 | 黄网站在线播放 | 欧美理论片在线观看 | 中文字幕一级 | 亚洲日本欧美日韩高观看 | 久久伊人一区 | 日韩一二区在线 | 久久久久九九九女人毛片 | 日韩毛片网 | 日韩免费看片 | 亚洲精品一区二区冲田杏梨 | 福利网址 | 2021天天躁夜夜看 | 一本色道精品久久一区二区三区 | 天天av网 | 久久aⅴ乱码一区二区三区 亚洲国产成人精品久久久国产成人一区 | 欧美日韩精品中文字幕 | 亚洲精品4 | 欧美一区二不卡视频 | 日韩一区二区在线免费观看 | 亚洲精品一区中文字幕乱码 | 日韩高清一区 | 日韩精品免费在线观看 | 国产精品永久免费视频 | 亚洲国产成人av好男人在线观看 | 免费视频久久 | 精品99在线|