国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

詳解CloudFoundry中各個組件的作用

云計算 云安全
CloudFoundry是一個標桿性的項目,架構設計上有很多值得借鑒之處。從CloudFoundry官網摘了一張圖,我們以此剖析各個組件的作用。

CloudFoundry是一個標桿性的項目,架構設計上有很多值得借鑒之處。從CloudFoundry官網摘了一張圖,我們以此剖析各個組件的作用。
CloudFoundry

Router

Router是整個平臺的流量入口,負責分發所有的請求到對應的組件,包括來自外部用戶對app的請求和平臺內部的管理請求。

Router是PaaS平臺中至關重要的一個組件,它在內存中維護了一張路由表,記錄了域名與實例的對應關系,所謂的實例自動遷移,靠得就是這張路由表,某實例宕掉了,就從路由表中剔除,新實例創建了,就加入路由表。

CloudFoundry1.0中的router是用nginx+lua嵌入腳本實現的,2.0用golang重寫,更名為gorouter,性能有所提升,并聲稱試圖解決websocket請求和tcp請求(雖然這在筆者看來是沒用的),它的代碼在https://github.com/cloudfoundry/gorouter,大家可以研究一下。

Authentication

這塊包含兩個組件,一個是Login Server,負責登錄,一個是OAuth2 Server(UAA),UAA是個Java的項目,如果想找一個OAuth2開源方案,可以嘗試一下UAA

Cloud Controller

Cloud Controller負責管理app的整個生命周期。用戶通過命令行工具cf與CloudFoundry Server打交道,實際主要就是和Cloud Controller交互。

用戶把app push給Cloud Controller,Cloud Controller將其存放在Blob Store,在數據庫中為該app創建一條記錄,存放其meta信息,并且指定一個DEA節點來完成打包動作,產出一個droplet(是一個包含Runtime的包,在任何dea節點都可以通過warden run起來),完成打包之后,droplet回傳給Cloud Controller,仍然存放在Blob Store,然后Cloud Controller根據用戶要求的實例數目,調度相應的DEA節點部署運行該droplet。另外,Cloud Controller還維護了用戶組織關系org、space,以及服務、服務實例等等。

Health Manager

Health Manager最初是用Ruby寫的,后來用golang寫了一版,稱為HM9000,HM9000主要有四個核心功能:

  • 監控app的實際運行狀態(比如:running, stopped, crashed等等),版本,實例數目等信息。DEA會持續發送心跳包,匯報它所管轄的實例信息,如果某個實例掛了,會立馬發送“droplet.exited”消息,HM9000據此更新app的實際運行數據
  • HM9000通過dump Cloud Controller數據庫的方式,獲取app的期望狀態、版本、實例數目
  • HM9000持續比對app的實際運行狀態和期望狀態,如果發現app正在運行的實例數目少于要求的實例數目,就發命令給Cloud Controller,要求啟動相應數目的實例。HM9000本身,不會要求DEA做些什么。它只是收集數據,比對,再收集數據,再比對
  • 用戶通過cf命令行工具是可以控制app各個實例的啟停狀態的,如果app的狀態發生變化,HM9000就會命令Cloud Controller做出相應調整

說到底,HM9000就是保證app可用性的一個基礎組件,app運行時超過了分配的quota,或者異常退出,或者DEA節點整個宕機,HM9000都會檢測到,然后命令Cloud Controller做實例遷移。HM9000的代碼在這里:https://github.com/cloudfoundry/hm9000,有興趣的同學可以研究一下

Application Execution(DEA)

DEA,即Droplet Execution Agent,部署在所有物理節點上,管理app實例,將狀態信息廣播出去。比如我們創建一個app,實例的創建命令最終會下發到DEA,DEA調用warden的接口創建container,如果用戶要刪除某個app,實例的銷毀命令最終也會下發到DEA,DEA調用warden的接口銷毀對應的container。

當CloudFoundry剛剛推出的時候,Droplet包含了應用的啟動、停止等簡單命令。用戶應用可以隨意訪問文件系統,也可以在內網暢通無阻,跑滿CPU,占盡內存,寫滿磁盤。你一切可以想到的破壞性操作都可以做到,太可怕了。CloudFoundry顯然不會放任這樣的情況太久,現在他們開發出了Warden,一個程序運行容器。這個容器提供了一個孤立的環境,Droplet只可以獲得受限的CPU,內存,磁盤訪問權限,網絡權限,再沒有辦法搞破壞了。

Warden在Linux上的實現是將Linux內核的資源分成若干個namespace加以區分,底層的機制是CGROUP。這樣的設計比虛擬機性能好,啟動快,也能夠獲得足夠的安全性。在網絡方面,每一個Warden實例有一個虛擬網絡接口,每個接口有一個IP,而DEA內有一個子網,這些網絡接口就連在這個子網上。安全可以通過iptables來保證。在磁盤方面,每個warden實例有一個自己的filesystem。這些filesystem使用aufs實現的。Aufs可以共享warden之間的只讀內容,區分只寫的內容,提高了磁盤空間的利用率。因為aufs只能在固定大小的文件上讀寫,所以磁盤也沒有出現寫滿的可能性。

LXC是另一個Linux Container。那為什么不使用它,而開發了Warden呢。因為LXC的實現是和Linux綁死的,CloudFoundry希望warden能運轉在各個不同的平臺,而不只是Linux。另外Warden提供了一個Daemon和若干Api來操作,LXC提供的是系統工具。還有最重要的一點是LXC過于龐大,Warden只需要其中的一點點功能就可以了,更少的代碼便于調試。

Service Brokers

app在運行的時候通常需要依賴外部的一些服務,比如數據庫服務、緩存服務、短信郵件服務等等。Service Broker就是app接入服務的一種方式。比如我們要接入MySQL服務,只要實現CloudFoundry要求的Service Broker API即可。但實際情況是在我們使用CloudFoundry之前,MySQL服務已經由DBA做了服務化、產品化,用起來已經很方便了。有必要實現其Service Broker API,按照CloudFoundry這套規則出牌么?筆者認為沒有這個必要。app仍然按照之前訪問MySQL服務的方式去做即可,沒有任何問題。

Message Bus

CloudFoundry使用NATS作為內部組件之間通信的媒介,NATS是一個輕量級的基于pub-sub機制的分布式消息隊列系統,是整個系統可以松散耦合的基石。

我們以向router注冊路由為例來說明NATS的作用。不管是外部用戶對平臺上的應用發起的請求,還是對內部組件(比如Cloud Controller、UAA)發起的請求,都是經由router做的轉發,要能讓router轉發則首先需要向router注冊路由。大體邏輯實現如下:

  • router啟動時,會訂閱router.register這個channel,同時也會定時的向router.start這個channel發送數據
  • 其他需要向router注冊的組件,啟動時會訂閱router.start這個channel。一旦接收到消息,會立刻收集需要注冊的信息(如ip、port等),然后向router.register這個channel發送消息。
  • router接收到router.register消息后立即更新路由信息
  • 以上過程不停循環,使router的狀態時刻保持最新

Logging and Statistics

Metrics Collector會從各個模塊收集監控數據,運維工程師可以據此來監控CloudFoundry,出了問題及時發現并處理。物理機的硬件監控則可以采用傳統的一些監控系統來做,比如zabbix之類的。

Log這塊是個大話題,CloudFoundry提供了Log Aggregator來收集app的log。我們也可以通過其他手段直接把log通過網絡打出來,比如syslog、scribe之類的。

原文出自:http://my.oschina.net/morflameblog/blog/340728

責任編輯:Ophira 來源: UlricQin的博客
相關推薦

2014-11-06 10:46:48

CloudFoundr

2015-04-14 11:10:22

PaaSCloudFoundrBuildpack

2020-09-26 07:19:46

Java

2011-03-18 09:27:00

Spring

2009-07-15 10:52:13

JTree組件

2015-01-15 09:27:17

CloudFoundrPaaS開源

2009-04-29 10:00:25

SQL邏輯查詢優化

2009-06-18 10:41:03

RuntimeVers.NET組件

2018-11-06 10:51:07

Redis開發存儲系統

2009-10-14 09:08:23

Visual Stud

2010-02-03 15:59:08

Android組件

2010-06-10 13:28:43

路由信息協議RIP

2012-05-11 10:38:15

Cloud Found

2023-06-28 08:34:02

Bind()函數JavaScript

2022-06-09 08:17:30

Python__new__

2012-03-27 11:45:21

vmwareCloudFoundrPostgreSQL

2011-08-16 19:27:53

ORACLE GOLD

2021-05-28 05:40:58

killkill -0 pidLinux

2009-09-16 13:05:32

C#組件開發

2009-09-17 16:34:24

C#組件類
點贊
收藏

51CTO技術棧公眾號

91久久精品一区二区三区| 女性女同性aⅴ免费观女性恋| 国产精品www.| 97超碰国产精品| 精品久久久久久久久久久久| 欧美sm一区| 日韩av电影手机在线观看| 亚洲视频久久| 国产精品拍拍拍| 精品久久久影院| 北条麻妃在线一区二区免费播放| 精品乱码一区| 亚洲精品视频在线观看网站| 周于希免费高清在线观看| 成人天堂噜噜噜| www国产精品av| 老司机精品影院| 日本精品性网站在线观看| 国产成人一级电影| a天堂中文在线88| 97视频在线观看播放| 精品一区二区三区蜜桃| 男人天堂网在线| 欧美激情a在线| 国产一区二区三区香蕉| 国产香蕉在线| 国产精品久久二区| 久久久国际精品| 在线天堂新版最新版在线8| 国产在线播放不卡| 亚洲国产精品av| 女生影院久久| 欧美精品一区二区三区在线看午夜 | 成人精品一区二区三区电影免费 | 三区四区不卡| 成人性生生活性生交12| 日韩电影中文字幕一区| 在线欧美一区| 一区二区三区区四区播放视频在线观看| 欧美日本高清一区| 成人黄页在线观看| 欧美激情喷水| 夜夜爽www精品| 日韩欧美www| 国产亚洲一区在线| 免费福利在线观看| 91日韩在线播放| 欧美日韩一区二区精品| 日韩一级电影| av网站一区| 国产福利视频一区二区| 18涩涩午夜精品.www| 亚洲一二三区视频| 男女视频一区二区三区| 久久国产精彩视频| 久久久午夜精品理论片中文字幕| 福利视频一区| 欧美黄色免费网址| 日韩av中文字幕在线播放| 另类调教123区| 黄色激情在线播放| 中文字幕制服丝袜在线| 亚洲成人av片在线观看| 蜜臀av性久久久久蜜臀aⅴ流畅 | 国产拍在线视频| 公共露出暴露狂另类av| 亚洲成在人线av| 国产一区二区日韩精品| 亚洲同志男男gay1069网站| 艳母动漫在线观看| 日韩有码在线视频| 国产精品美女久久久久aⅴ国产馆| 午夜视频一区二区在线观看| 久久精品午夜福利| 欧美在线视频观看| 狠狠久久五月精品中文字幕| 一个色综合网| 精品国产白色丝袜高跟鞋| 免费亚洲精品视频| 精品av综合导航| 成人性生交大片免费看中文| 9999精品| 国内av免费| 国产精品免费区二区三区观看| 欧美区在线观看| 黑人巨大精品欧美一区| 国产精品日本一区二区不卡视频| 国产一伦一伦一伦| 成人有码在线播放| 日韩限制级电影在线观看| 欧美激情第三页| 日韩精品资源二区在线| 国产精品五区| 日韩另类在线| 黄色网在线视频| 久久不射电影网| 亚洲男人天堂一区| 国产字幕视频一区二区| 在线中文字幕-区二区三区四区| 亚洲高清在线播放| 中文字幕精品一区久久久久| 国产日韩欧美精品在线| 国产日产一区| 免费在线午夜视频| 日韩成人手机在线| 国产成人精品视频在线观看| 欧洲av在线精品| 国产精品18久久久久久久网站| 91精品日本| 久久伊伊香蕉| 国产精品国产三级国产专区51| 18性欧美xxxⅹ性满足| 天天综合天天综合色| 日韩电影在线免费| 欧美日韩黄色| 国产精品免费播放| www.日本少妇| 91成人伦理在线电影| 亚洲欧美日韩国产中文| 一区二区三区加勒比av| 日韩在线观看一区二区| 成人全视频在线观看在线播放高清| 好吊的妞视频这里都有| 亚洲精品视频一区二区三区| 97成人精品区在线播放| 欧美绝品在线观看成人午夜影视| 成人毛片视频在线观看| 午夜精品久久99蜜桃的功能介绍| 欧美xo影院| 国产原创av在线| 国模杨依粉嫩蝴蝶150p| 久久综合一区| 日韩av黄色在线观看| 亚洲免费视频观看| 日韩欧美国产中文字幕| 久久久噜噜噜久久人人看 | 亚洲视频资源| 午夜小视频在线| 羞羞免费视频网站| 久久av喷吹av高潮av| 成人午夜两性视频| 爱福利视频一区| 日韩一区二区在线观看视频播放 | 尤物网在线观看| 在线观看国产中文字幕| 日韩亚洲不卡在线| 国产精品久久久久久久久久| 在线播放国产精品| 91精品国产91久久综合桃花| 亚洲女爱视频在线| 92精品国产成人观看免费| 日韩在线一二三区| 欧美成人中文| 国产videos久久| 国产一区二区三区黄网站| 久草免费在线色站| 九色视频在线播放| 黄色福利视频网站| 欧美黄色免费影院| 在线不卡日本| 久久久久久九九| 亚洲xxxxx| 国产精品久久9| 欧美日本高清视频| 久久精品国产成人精品| 亚洲国产日韩精品在线| 欧美日韩精品一区二区天天拍小说 | 国产对白在线| 99精品免费在线观看| 男人天堂网站在线| 日韩高清dvd| 波多野结衣三级在线| 久久综合五月天婷婷伊人| 亚洲国产专区校园欧美| 欧美久久电影| 成人久久精品视频| 国产精品成熟老女人| 欧美成人亚洲成人日韩成人| 日韩精品在线影院| 日韩欧美资源站| 欧美人与性动xxxx| 欧美午夜精品久久久| 日韩欧美黄色动漫| 精品国产1区2区| 欧美日韩午夜剧场| 疯狂蹂躏欧美一区二区精品| 亚洲一区二区美女| 亚洲综合男人的天堂| 国产女人aaa级久久久级 | 久久久伊人日本| 美女999久久久精品视频| 中文字幕日韩av电影| 亚洲人在线视频| 尤物九九久久国产精品的特点| 亚洲免费一级电影| 国产亚洲精品久久久久久777| 亚洲人成网7777777国产| 亚洲欧洲在线看| 久久久国产一区二区| 九九综合九九综合|