成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

技術(shù)干貨 | 初次微服務(wù)體驗(yàn):從Docker容器農(nóng)場(chǎng)說(shuō)起

魏憲會(huì) / 3472人閱讀

摘要:或許你的第一次微服務(wù)體驗(yàn),就從本文開始在本文中,和等紛紛亮相,并配有詳細(xì)的代碼說(shuō)明。該角色與本地網(wǎng)絡(luò)及的配置設(shè)置相關(guān)。由于會(huì)在虛擬機(jī)初始化過(guò)程中自動(dòng)執(zhí)行配置任務(wù),因此惟一的解決辦法就是將相關(guān)內(nèi)容提取至多帶帶的劇本當(dāng)中

這是一篇“溫和有趣”的技術(shù)文章,如果你初識(shí)Docker,對(duì)微服務(wù)充滿興趣,不妨一讀?;蛟S你的第一次微服務(wù)體驗(yàn),就從本文開始……

在本文中,Mesos、Zookeeper、Marathon、Bamboo + HaProxy、Logstash、MesosDns、ElasticSearch和Kibana + Nginx等紛紛亮相,并配有詳細(xì)的代碼說(shuō)明。本文旨在從最初的安裝和環(huán)境基礎(chǔ)建立開始,一步步指引你搭建自己的集群,實(shí)現(xiàn)你的目標(biāo)架構(gòu),并在其上運(yùn)行分布式服務(wù)。

小數(shù)友情提示:本文篇幅很長(zhǎng),干貨多多,值得收藏。

當(dāng)開發(fā)者開始構(gòu)建自己的第一款微服務(wù)應(yīng)用程序時(shí),大家通常不會(huì)過(guò)多考慮編排之類的問(wèn)題。這時(shí)我們掌握的有兩到四臺(tái)服務(wù)器,而Ansible腳本已經(jīng)能夠解決大部分問(wèn)題。不過(guò)一旦大家的應(yīng)用程序規(guī)模更大,或者各位決定使用一套環(huán)境承載多個(gè)不同項(xiàng)目,那么必然需要更多服務(wù)器……還有一款用于管理各服務(wù)器之上運(yùn)行的服務(wù)。

不過(guò)剛剛我們已經(jīng)提到了Ansible,難道它還不足以解決問(wèn)題?這個(gè)嘛……答案是否定的。Ansible只能解決一項(xiàng)難題——部署。利用它,大家仍然需要搞定其它多種與微服務(wù)相關(guān)的問(wèn)題:我們必須記得每臺(tái)服務(wù)器中還有多少剩余資源、手動(dòng)管理各清單文件以匹配服務(wù)器容量、監(jiān)控應(yīng)用程序是否正常運(yùn)行、當(dāng)節(jié)點(diǎn)出現(xiàn)故障時(shí)進(jìn)行服務(wù)回彈以及控制端口號(hào)沖突等等。如果大家擁有四臺(tái)服務(wù)器與十項(xiàng)服務(wù),那么這些問(wèn)題就變得比較明顯了。

而以此為基礎(chǔ),我們就需要求助于Mesos了。Mesos是什么?這是一款集群管理器,其能夠幫助大家在分布式環(huán)境之下運(yùn)行應(yīng)用程序。Mesos的關(guān)鍵優(yōu)勢(shì)包括:

資源管理與使用效率;

應(yīng)用程序生命周期控制;

Docker容器支持能力。

最后一點(diǎn)也使得Mesos成為我們最為完美的解決方案選項(xiàng)。

安裝

由于找到七臺(tái)無(wú)需使用的服務(wù)器對(duì)于任何企業(yè)都是一項(xiàng)難題,因此我們?cè)谶@里使用Vagrant(這是一款管理虛擬化流程的完美工具)在一臺(tái)本地設(shè)備(惠普Z(yǔ)230,i7-4770 3.40 GHz,16 GB內(nèi)存)上構(gòu)建自己的集群。另外,我們也提到了Ansible是一種便捷的部署方式,因此我們完全可以將整個(gè)安裝流程拆分成多個(gè)Ansible角色,從而封裝其內(nèi)部所需要使用的標(biāo)準(zhǔn)Linux命令。

環(huán)境

首先,我們需要建立Mesos集群基礎(chǔ)——這是一系列虛擬機(jī)系統(tǒng),供我們?cè)谝韵虏襟E中使用。這項(xiàng)工作利用Vagrant能夠輕松完成。
以下為來(lái)自Vargantfile的部分代碼:

如大家所見,我們可以使用一點(diǎn)Ruby代碼執(zhí)行以下步驟:

基于CentOS 7.1鏡像構(gòu)建虛擬機(jī);

設(shè)置各虛擬機(jī)的資源上限(CPU與內(nèi)存);

將其與一套網(wǎng)絡(luò)相結(jié)合;

*利用每臺(tái)主機(jī)上的一組預(yù)定義變量啟動(dòng)一套Ansible劇本(ansible/master.yml)。

簡(jiǎn)單來(lái)講,Vagrant文件負(fù)責(zé)描述如何構(gòu)建7套虛擬機(jī)系統(tǒng):3套主虛擬機(jī)、3套從虛擬機(jī)與1套日志存儲(chǔ)(從技術(shù)層面講,這部分也應(yīng)該進(jìn)行分布處理,不過(guò)主機(jī)設(shè)備的資源較為有限)。大家需要做的是利用下面這條簡(jiǎn)單命令將其投入運(yùn)行:

`vagrant up`
初始集群狀態(tài)

前三步都是由Vagrant實(shí)現(xiàn)的,也不屬于我們今天的討論重點(diǎn)。接下來(lái)讓我們正式進(jìn)入主題,通過(guò)Ansible設(shè)置集群。

集群

正如大家在Vagrantfile當(dāng)中所見,這里有3套主劇本及其各自角色:

主角色- 主機(jī)包含:
Mesos主實(shí)例;
Zookeeper實(shí)例;
Marathon實(shí)例;
Bamboo + HaProxy實(shí)例;

節(jié)點(diǎn)- 主機(jī)包含:
Mesos從實(shí)例;
Docker服務(wù);
Logstash實(shí)例;
MesosDns實(shí)例;

日志- 主機(jī)包含:
ElasticSearch實(shí)例;
Kibana + Nginx實(shí)例。

接下來(lái),我們將分別考慮各個(gè)角色,但這里需要首先強(qiáng)調(diào)一點(diǎn):每個(gè)角色都取決于“OS”角色。該角色與本地網(wǎng)絡(luò)及YUM repo的DNS配置設(shè)置相關(guān)。嚴(yán)格地講,我們應(yīng)當(dāng)將這種關(guān)聯(lián)性從劇本層級(jí)中剝離出來(lái),但為了簡(jiǎn)單起見,這里我們先讓其保持原狀。

Zookeeper

Zookeeper屬于我們系統(tǒng)中的一大重要組成部分。它將幫助我們構(gòu)建集群并允許來(lái)自Mesos生態(tài)系統(tǒng)中的其它應(yīng)用程序(例如Bambbo、MesosDns)與之進(jìn)行通信。

Zookeeper的安裝過(guò)程非常簡(jiǎn)單,而且不需要什么技巧——從RPM軟件包中獲取一套repo即可。我發(fā)現(xiàn)很多朋友傾向于利用現(xiàn)有源代碼構(gòu)建應(yīng)用,但在這里我們將使用基于供應(yīng)商的Mesosphere軟件包。

大家需要的就是安裝該軟件包,設(shè)置節(jié)點(diǎn)ID,更新配置并啟動(dòng)該服務(wù)。

下面來(lái)看Zookeeper安裝任務(wù)中的代碼片段:


在這里,我們需要回顧一下前面提到過(guò)的Vagrantfile——大家還記得下面這部分內(nèi)容嗎?

Vagrant將全部必要的變量傳遞至Ansible,因此我們可以輕松在角色中對(duì)其加以利用。

正如Zookeeper的配置一樣,我們只需要對(duì)其中的主機(jī)IP進(jìn)行配置:

以下為我們集群最終狀態(tài)下的簡(jiǎn)單Zookeeper UI(簡(jiǎn)稱ZK UI)屏幕:

該步驟后的集群狀態(tài)

Mesos

正如之前所提到,MesoSphere的工作人員非常貼心地把Mesos軟件包加以整合,因此整個(gè)安裝流程也將變得更加輕松。

其中惟一需要注意的是,Mesos實(shí)際上由兩部分構(gòu)成:

主節(jié)點(diǎn)(負(fù)責(zé)全部管理邏輯);

從節(jié)點(diǎn)(負(fù)責(zé)運(yùn)行應(yīng)用并收集與主機(jī)資源相關(guān)的信息);

換句話來(lái)說(shuō),我們需要為主節(jié)點(diǎn)與從節(jié)點(diǎn)實(shí)現(xiàn)不同的安裝邏輯。幸運(yùn)的是,Ansible能夠非常輕松地完成這項(xiàng)任務(wù)。

以下為Mesos安裝任務(wù)的代碼片段:

面向這二者,我們需要安裝“mesos”軟件包(請(qǐng)記住,相關(guān)repo由“OS”角色提供)與Zookeeper URL。

下一站是進(jìn)行設(shè)定。在這里,我們只提供諸如主節(jié)點(diǎn)quorum size與從節(jié)點(diǎn)docker支持等強(qiáng)制性設(shè)定。如果大家希望了解更多與特定配置相關(guān)的內(nèi)容,不妨閱讀Mesos官方說(shuō)明文檔。

由于MesoSphere軟件包同時(shí)提供主與從服務(wù),因此我們需要根據(jù)當(dāng)前角色(主/從)禁用其中的冗余部分。

為實(shí)現(xiàn)這一目標(biāo),大家應(yīng)當(dāng)使用Ansible的“conditional”機(jī)制。如果大家曾經(jīng)認(rèn)真閱讀過(guò)“master”劇本,就會(huì)發(fā)現(xiàn)我們已經(jīng)傳遞了一條特殊的mesos_type變量:

在Mesos安裝完成后,大家可以審視其Web UI并嘗試點(diǎn)擊其中的按鈕:http://192.168.99.11:5050。
需要注意的是,如果當(dāng)前主機(jī)并非Mesos Master的集群主節(jié)點(diǎn),那么UI會(huì)將大家重新定向至主節(jié)點(diǎn)主機(jī)。另外,由于我們?cè)谔摂M機(jī)當(dāng)中使用了DNS快捷方式(例如“master1”),因此大家也應(yīng)當(dāng)在自己的主機(jī)設(shè)備上使用同樣的快捷方式。
好了,就是這樣——我們的集群已經(jīng)構(gòu)建完成了。


在痛飲慶功酒之前,我們還需要回顧其中一些有趣的細(xì)節(jié)。

首先,大家需要記住——每個(gè)任務(wù)都擁有自己的背景信息,我們將其稱為“sandbox”。大家可以將其打開并分析全部輸出結(jié)果(可參閱Marathon部分的截屏內(nèi)容)。需要注意的是,Docker容器必須首先進(jìn)行pull——因此,如果大家沒有分配足夠的時(shí)間用于容器啟動(dòng),那么任務(wù)可能無(wú)法在UI中w/o任何消息(大家仍然能夠在相關(guān)節(jié)點(diǎn)的/var/logs/messages中看到消息內(nèi)容):

要對(duì)其進(jìn)行修復(fù),需要如以上片段所示配置其中的

另外,也不要忘記設(shè)置運(yùn)行狀態(tài)檢查的寬限時(shí)長(zhǎng)(Java應(yīng)用往往會(huì)長(zhǎng)時(shí)間處于活動(dòng)狀態(tài))。否則大家的應(yīng)用很可能被關(guān)閉,并在其重新啟動(dòng)前進(jìn)行回彈(運(yùn)行狀態(tài)檢查設(shè)定問(wèn)題稍后我們?cè)倮^續(xù)討論):

此步驟后的集群狀態(tài):

Docker

由于我們需要在自己的從主機(jī)上運(yùn)行Docker容器,因此在這些主機(jī)上安裝Docker本體就成了必要任務(wù)。幸運(yùn)的是,其安裝過(guò)程非常簡(jiǎn)單:

下面來(lái)看Docker安裝任務(wù)中的代碼片段:

該步驟后的集群狀態(tài):

Marathon

盡管我們的Mesos集群已經(jīng)上線并開始運(yùn)行,但我們?nèi)匀粺o(wú)法在其上運(yùn)行自己的Docker容器。嚴(yán)格地講,這時(shí)我們能夠在Mesos上直接運(yùn)行的只有一套Mesos框架。當(dāng)然,我們還擁有另一個(gè)更符合需求的選項(xiàng)——Marathon。

從技術(shù)角度來(lái)看,Marathon只是一款簡(jiǎn)單的Java軟件包,且能夠通過(guò)jar命令進(jìn)行啟動(dòng)。但好在我們還擁有一套R(shí)PM軟件包,因此我們不需要擔(dān)心其“后臺(tái)化”、配置與控制等問(wèn)題。此外,由于我們的軟件包由MesoSphere負(fù)責(zé)提供,因此其使用的是同樣的配置文件(Zookeeper URL),所以我們不需要對(duì)其另行設(shè)置。
Marathon安裝任務(wù)中的代碼片段:

Marathon還擁有一套Web UI,大家可以通過(guò)URL: http://master1:8080
進(jìn)行訪問(wèn)。


下面讓咱們找點(diǎn)樂(lè)子,部署一項(xiàng)簡(jiǎn)單的REST服務(wù)(該服務(wù)及部署設(shè)定稍后另行討論):

現(xiàn)在我們已經(jīng)可以監(jiān)控其狀態(tài)以及分配端口:


因此,我們可以對(duì)其進(jìn)行調(diào)用并檢查其是否正常工作(當(dāng)然,結(jié)果一切正常)。


我們甚至可以對(duì)服務(wù)進(jìn)行規(guī)模擴(kuò)展——如果有必要的話(目前規(guī)模擴(kuò)展還沒有任何意義):


另外,通過(guò)“sandbox”分析其日志(通過(guò)Mesos UI):

該步驟后的集群狀態(tài):

Bamboo與HaProxy

在以上示例當(dāng)中,我們只部署了一個(gè)服務(wù)實(shí)例。不過(guò)如果我們希望在其中使用大量實(shí)例與負(fù)載均衡機(jī)制,又該如何處理?這個(gè)嘛,作為答案的一部分,我們將采用HaProxy。這確實(shí)是一款非常出色的負(fù)載均衡器。不過(guò)如何對(duì)其進(jìn)行配置?很簡(jiǎn)單,交給Bamboo項(xiàng)目處理即可——它能夠與Zookeeper相對(duì)接,讀取Mesos狀態(tài)并生成HaProxy配置(利用每款Mesos應(yīng)用的用戶定義角色)。

其安裝過(guò)程本來(lái)非常簡(jiǎn)單,不過(guò)遺憾的是目前還沒有任何集成有Bamboo軟件包的公共RPM repo。大家可以對(duì)其進(jìn)行手動(dòng)構(gòu)建,并通過(guò)本地文件實(shí)現(xiàn)安裝,但整個(gè)過(guò)程其實(shí)有點(diǎn)復(fù)雜。

以下為Bamboo安裝任務(wù)中的代碼片段:

在Bamboo安裝完成之后,大家可以通過(guò)其Web UI進(jìn)行設(shè)置: http://master1:8000


另外也可以通過(guò)HaProxy訪問(wèn)我們的服務(wù): http://master1/services/fibonacci/1

請(qǐng)注意,我們?cè)贐amboo安裝中使用了多帶帶的Ansible劇本(master_bamboo.yml)。之所以這樣處理,是因?yàn)槲覀冃枰璐吮WC其RPM軟件包在于劇本內(nèi)運(yùn)行之前被上傳至虛擬主機(jī)當(dāng)中。

由于Vagrant會(huì)在虛擬機(jī)初始化過(guò)程中自動(dòng)執(zhí)行Ansible配置任務(wù),因此惟一的解決辦法就是將Bamboo相關(guān)內(nèi)容提取至多帶帶的劇本當(dāng)中,并執(zhí)行以下算法:

利用vagrant up啟動(dòng)虛擬機(jī);

將RPM文件通過(guò)SCP上傳至虛擬機(jī)當(dāng)中;

對(duì)Vagrantfile中的ansible.playbook進(jìn)行變更;

運(yùn)行vagrant provision master1命令。

如大家所見,Bamboo是整套生態(tài)系統(tǒng)中最為雜亂的部分。所以我們不妨了解其替代方案——例如Marathon負(fù)載均衡器。

該步驟后的集群狀態(tài):

MesosDns

我們一直沒有談到一個(gè)重要的問(wèn)題——如果我們的服務(wù)需要彼此進(jìn)行通信,該如何加以實(shí)現(xiàn)?我們是否能夠立足于單一Mesos集群內(nèi)部實(shí)現(xiàn)服務(wù)發(fā)現(xiàn)?是的,答案是肯定的!相關(guān)方案也非常明確——MesosDns。這里我們的解決思路非常明確——讀取Mesos集群狀態(tài)并通過(guò)DNS(A與SRV記錄)及HTTP API進(jìn)行發(fā)布。后一點(diǎn)非常重要,因?yàn)檫@將幫助我們輕松構(gòu)建客戶端負(fù)載均衡w/o【1,2】。

整個(gè)安裝過(guò)程稍有些麻煩,不過(guò)沒什么特別之處需要注意。

以下為MesosDns安裝任務(wù)中的代碼片段:


Config文件中也沒有什么值得一提的內(nèi)容:

大家可以通過(guò)以下SRV記錄請(qǐng)求檢查已安裝的實(shí)例:

http://172.17.42.1:8123/v1/services/_fibonacci-service._tcp.marathon.mesos.

此步驟完成后的集群狀態(tài):

日志記錄

歡呼!我們距離成功已經(jīng)很近了!必須承認(rèn),如果大家已經(jīng)耐著性子讀到這里,那么這個(gè)議題肯定非常有趣。

值得慶幸的是,這部分并沒有太多內(nèi)容可談。日志記錄就是日志記錄。我們只需要將Logstash安裝在全部Mesos從節(jié)點(diǎn)當(dāng)中即可……

以下為L(zhǎng)ogStash安裝任務(wù)中的代碼片段:


另外對(duì)其config文件進(jìn)行配置,確保將數(shù)據(jù)發(fā)布至日志節(jié)點(diǎn)當(dāng)中:


與此同時(shí),我們還需要在這些節(jié)點(diǎn)上安裝ElasticSearch與Kibana。
ELK安裝任務(wù)中的代碼片段:

這里使用Docker的惟一理解就是其更為簡(jiǎn)便。當(dāng)然,我們也不需要也不應(yīng)該將日志數(shù)據(jù)保存在容器當(dāng)中。

在安裝完成之后,大家就可以通過(guò)Kibana的Web界面分析ES當(dāng)中的日志了:http://log1:5601

目標(biāo)架構(gòu)

下面就是我們的目標(biāo)架構(gòu),或者說(shuō)我們的最終構(gòu)建成果。看起來(lái)不錯(cuò),對(duì)吧?
圖十八
在我們的腳本當(dāng)中,惟一的單點(diǎn)故障來(lái)源就是HaProxy/Bamboo。不過(guò)大家可以將二者部署至全部主節(jié)點(diǎn)當(dāng)中并面向用戶使用基于DNS的輪循機(jī)制,從而輕松解決這個(gè)問(wèn)題。

分布式服務(wù)

到這里我們已經(jīng)擁有了自己的集群?,F(xiàn)在,是時(shí)候考慮我們計(jì)劃運(yùn)行于其上的分布式服務(wù)了(運(yùn)行簡(jiǎn)單應(yīng)用太過(guò)無(wú)聊,這里不再贅述)。

我已經(jīng)開發(fā)出了一套基于REST服務(wù)的小巧SpringBoot,其能夠計(jì)算斐波那契序列中的第N個(gè)數(shù)字。這項(xiàng)服務(wù)的核心功能在于,其可以調(diào)用自身其它實(shí)例以計(jì)算該序列中的前一個(gè)值。


我知道,這種實(shí)現(xiàn)方式效率極低而且很容易導(dǎo)致死鎖(大家不妨想想這是為什么),但我在這里主要是借此對(duì)跨服務(wù)通信進(jìn)行說(shuō)明。
該服務(wù)利用MesosDns HTTP API進(jìn)行服務(wù)發(fā)現(xiàn):


另外還有一套客戶端負(fù)載均衡機(jī)制(我們當(dāng)然需要盡可能減少故障點(diǎn)數(shù)量,對(duì)吧?):

部署

在我們開始部署工作之前,首先需要為自己的應(yīng)用程序構(gòu)建一套Docker鏡像。在這里我就不贅述整個(gè)流程了,感興趣的朋友可以查看Gradle配置與Docker說(shuō)明文件了解相關(guān)內(nèi)容。

完成之后,我們將該鏡像發(fā)布至一套Docker注冊(cè)表當(dāng)中(也可以通過(guò)Gradle實(shí)現(xiàn)),這樣Marathon就能夠通過(guò)從節(jié)點(diǎn)上的Docker實(shí)例對(duì)其進(jìn)行下載了。大家可以在這里找到我創(chuàng)建的示例: https://hub.docker.com/r/krestjaninoff/fibonacci-service/

最后也是最重要的部分,Marathon。如之前所提到,我們可以利用Marathon UI實(shí)現(xiàn)部署任務(wù)。不過(guò)這并不是最具“技巧性”的辦法。Marathon也擁有自己的REST API,我們可以通過(guò)簡(jiǎn)單的“curl”客戶端對(duì)其加以使用:

以下為SpringBoot mesos installation manifest中的代碼片段:


讓我來(lái)簡(jiǎn)單介紹一下該配置文件中的內(nèi)容(各部分逐一說(shuō)明):

應(yīng)用程序 id (在Bamboo配置中使用);

資源限制(如果該集群不具備必要容量,應(yīng)用程序?qū)⒉粫?huì)啟動(dòng)——這一點(diǎn)對(duì)于基于虛擬機(jī)的集群尤為重要)與實(shí)例數(shù)量;

容器設(shè)置:

forcePullImage是在正確時(shí)間點(diǎn)對(duì)容器進(jìn)行更新的惟一方式;

SpringBoot允許我們通過(guò)各環(huán)境變量進(jìn)行config文件覆蓋,因此這是一種良好的容器操作方式;

由于$HOST變量負(fù)責(zé)提供DNS名稱(這一點(diǎn)甚至在Marathon官方說(shuō)明文件中亦沒有體現(xiàn)),因此從Docker容器內(nèi)獲取主機(jī)本地IP的惟一方式就是默認(rèn)Docker網(wǎng)絡(luò)接口172.17.42.1;

backoff因數(shù)/設(shè)定避免集群運(yùn)行“異?!睉?yīng)用,即無(wú)法正常啟動(dòng)并將因此造成反復(fù)嘗試的應(yīng)用(具體方式為延后每一次啟示嘗試);

運(yùn)行狀態(tài)檢查允許Marathon了解應(yīng)用實(shí)例處于正常運(yùn)行抑或是必須執(zhí)行回彈;

upgradeStrategy幫助大家在無(wú)需接入能力的前提下實(shí)現(xiàn)應(yīng)用更新(首先延后新版本,而后停止當(dāng)前版本)。

最后要提到的是Bamboo,其同樣可以通過(guò)REST API進(jìn)行配置。這項(xiàng)任務(wù)非常簡(jiǎn)單:


到這里,我們就已經(jīng)擁有了“deploy”角色……
以下為Deployment安裝任務(wù)中的代碼片段:


大家可以通過(guò)運(yùn)行“deploy”劇本的方式進(jìn)行調(diào)用:

結(jié)果

到這里全部結(jié)束!

調(diào)用該服務(wù) curl http://master1:5000/service/fibonacci/15 (或者直接調(diào)用curl http://node2:31135/15);

檢查結(jié)果(正確值為610);

檢查日志內(nèi)容(http://log1:5601)。

最后一點(diǎn)非常有趣。大家可以看到哪臺(tái)主機(jī)被調(diào)用或者響應(yīng)耗費(fèi)了多長(zhǎng)時(shí)間:

小數(shù)譯后記

好了,今天的文章到這里就結(jié)束了。沒錯(cuò),其篇幅遠(yuǎn)超一般的“Hello World”指南——不過(guò)平心而論,內(nèi)容還是非常有趣的,對(duì)吧?

英文原文鏈接:http://trustmeiamadeveloper.com/2015/12/17/mesos-as-a-docker-containers-farm/

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/26561.html

相關(guān)文章

  • 回顧Java 發(fā)展,看 Docker 與Mesos | 數(shù)人云COO謝樂(lè)冰@KVM分享實(shí)錄

    摘要:馬拉松會(huì)匹配每個(gè)和提供的資源,然后通過(guò)將任務(wù)下發(fā)下去。對(duì)外暴露的就是負(fù)載均衡的某個(gè)服務(wù),后面自動(dòng)將流量轉(zhuǎn)發(fā)到某個(gè)容器的端口上。還有一直辦法是用內(nèi)網(wǎng)的,這個(gè)會(huì)維護(hù)現(xiàn)有的容器列表端口,并且返回任意一個(gè)的端口,頁(yè)實(shí)現(xiàn)了負(fù)載均衡和服務(wù)發(fā)現(xiàn)功能。 演講嘉賓 數(shù)人云COO 謝樂(lè)冰 在德國(guó)工作十年,回國(guó)后加入惠普電信運(yùn)營(yíng)商部門,擁有多年項(xiàng)目經(jīng)驗(yàn)和創(chuàng)業(yè)公司工作經(jīng)驗(yàn)。在數(shù)人云負(fù)責(zé)產(chǎn)品售前和運(yùn)營(yíng),專注行...

    canger 評(píng)論0 收藏0
  • 代碼級(jí)干貨 | 如何利用Docker與Rails API gem構(gòu)建服務(wù)

    摘要:今天小數(shù)給大家?guī)?lái)的是一篇代碼級(jí)干貨文章,與大家分享一些利用以微服務(wù)形式設(shè)置應(yīng)用的經(jīng)驗(yàn)與心得。為何選擇加在我效力的企業(yè)中,我們一直在利用為全部工程師構(gòu)建開發(fā)環(huán)境。運(yùn)行命令,從而利用構(gòu)建鏡像并安裝。 今天小數(shù)給大家?guī)?lái)的是一篇代碼級(jí)干貨文章,與大家分享一些利用Rails API以微服務(wù)形式設(shè)置應(yīng)用的經(jīng)驗(yàn)與心得。 為何選擇Docker加Rails API? 在我效力的企業(yè)中,我們一直在利用...

    stefanieliang 評(píng)論0 收藏0
  • 如何用Docker編排容器

    摘要:應(yīng)用被綁定到虛擬機(jī)或者容器并且成為主要的管理元素。采用的方法是他們正在使用的一系列實(shí)現(xiàn)容器自動(dòng)化的工具,和。,使用相同的作為標(biāo)準(zhǔn)引擎實(shí)例,被設(shè)計(jì)用來(lái)提供容器可擴(kuò)展的環(huán)境。 歡迎來(lái)到后硬件時(shí)代。在這個(gè)時(shí)代我們把容器或者是虛擬機(jī)遷移到我們需要的地方,而不需要考慮容器或者虛擬機(jī)。這里我們介紹一些新的Docker工具來(lái)做這份工作。 構(gòu)建下一代應(yīng)用是一回事,管理和運(yùn)行它們是另一回事。 showI...

    xialong 評(píng)論0 收藏0
  • 技術(shù)干貨 | 如何規(guī)劃基于Docker服務(wù)架構(gòu)

    摘要:今天小數(shù)又漂洋過(guò)海給大家運(yùn)來(lái)一篇干貨,在今天的文章中,我們將一同了解如何在上規(guī)劃一套成功的微服務(wù)架構(gòu)。通過(guò)在基于的微服務(wù)之前安裝反向代理,輸入的請(qǐng)求可被正確分發(fā)至多主機(jī)上的任意數(shù)量容器實(shí)例當(dāng)中。規(guī)劃技巧四安裝反向代理及或管理平臺(tái)。 今天小數(shù)又漂洋過(guò)海給大家運(yùn)來(lái)一篇干貨,在今天的文章中,我們將一同了解如何在Docker上規(guī)劃一套成功的微服務(wù)架構(gòu)。 Docker的人氣仍然持續(xù)升溫,這主要?dú)w...

    awokezhou 評(píng)論0 收藏0
  • 技術(shù)干貨 | Docker容器中需要避免的十種常見誤區(qū)

    摘要:第二具備輕量化特性容器的體積非常小巧。他們大多認(rèn)為自己應(yīng)該將應(yīng)用程序部署至當(dāng)前正在運(yùn)行的容器當(dāng)中。不要?jiǎng)?chuàng)建大型鏡像體積過(guò)大的鏡像會(huì)加大其發(fā)布難度。總體來(lái)講,在向生產(chǎn)環(huán)境中部署容器時(shí),必須避免使用最新標(biāo)簽。 當(dāng)下最火爆的Docker,是一個(gè)開源的應(yīng)用容器引擎。大家已經(jīng)開始認(rèn)同并接受容器技術(shù),并意識(shí)到它能夠解決多種現(xiàn)實(shí)問(wèn)題并具備一系列無(wú)可比擬的優(yōu)勢(shì)。今天小數(shù)就和大家聊一聊容器技術(shù)的優(yōu)勢(shì)和誤...

    Gu_Yan 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<