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

用 Docker 構建 Serverless 應用

大數(shù)據(jù)
Serverless 不意味著沒有服務器,而是從應用可以在一個抽象層上忽略它的存在,而只關注在功能實現(xiàn)上和自身的請求處理上;每一個功能實現(xiàn)在不是單純的業(yè)務邏輯處理的代碼,相反每個功能調(diào)用具有了 Server 的特質(zhì),進化成為了一個具有自省、自知和自治的工作負載單元;他們更像是能夠衍生出其它新功能單元的生物體。

 

[[168033]]

Serverless 不意味著沒有服務器,而是從應用可以在一個抽象層上忽略它的存在,而只關注在功能實現(xiàn)上和自身的請求處理上;每一個功能實現(xiàn)在不是單純的業(yè)務邏輯處理的代碼,相反每個功能調(diào)用具有了 Server 的特質(zhì),進化成為了一個具有自省、自知和自治的工作負載單元;他們更像是能夠衍生出其它新功能單元的生物體。這樣整個 Serverless 應用架構之內(nèi),每個生命可以衍生下去,子子孫孫無窮匱也。

處在這技術日新月異的時代里,新的技術浪潮經(jīng)常對當前的技術產(chǎn)生著威脅和顛覆。在編寫應用的時候我們目前經(jīng)常談論到“Serverless”技術。它的核心思想是把應用作為一系列的功能/function來部署,這些功能在需要的時候被按需部署。服務器管理應該是不需要去操心的事情,所有功能被按需調(diào)用,被運行在群集之上。

但是 Serverless 里不意味著沒有 Docker,事實上 ”Docker 就是 Serverless”。你可以用 Docker 來容器化這些功能,然后按需地運行在 Swarm 群集上。Serverless 是一種構建分布式計算的應用的方法,而 Docker 是***的構建和運行他們的平臺。

從 Server 到 Serverless

那么我們?nèi)绾蝸砭帉?Serverless 的應用?讓我們先看下這個例子:“一個有5個子服務組成的投票應用”:

 

子服務

 

它的結構如下:

1. 兩個 Web 前端

2. 一個后臺的處理投票的 Worker 服務

3. 一個處理投票的消息隊列

4. 一個數(shù)據(jù)庫

那個后臺處理投票的進程是非常容易成為轉換為 Serverless 架構的目標。在投票應用內(nèi),我們可以運行一點類似于下面的代碼,來執(zhí)行后臺任務:

Worker 和消息隊列能用按需在 Swarm 上運行的容器來替換,并自動地按需擴容。

 

代碼

 

我們甚至可以消除掉 Web 前端。我們可以這么做:用 Docker 容器來相應每一個HTTP 請求,每個 HTTP 請求都用一個自生長的跑著輕量 HTTP 服務器的容器來處理。之前使用的是長時間持續(xù)運行的 HTTP 服務器,現(xiàn)在變成了具有 HTTP 相應和處理能力的按需跑起來的容器,而且他們能自動地擴容來支持所有訪問請求。

我們新的架構大概如下圖所示:

 

架構

 

其中紅色的方塊是需持續(xù)長期運行的服務,而綠色方塊成了按需被調(diào)用的 Docker容器。這樣這個應用變成了只有少數(shù)幾個需要被管理的 long-running 服務,在相應請求的時候使用原生的 Swarm 擴容能力,處理能力的上限是 Swarm 群集的上限。

具體如何實現(xiàn)

這里有三個有用的技巧,可以在你的程序中使用:

1. 把你代碼中的 function 作為按需拉起的 Docker 容器

2. 使用 Swarm 在群集上運行這些容器

3. 從容器里面運行這些功能容器,繞過了一個 Docker API socket

使用以上技術的組合,程序執(zhí)行負載發(fā)生的可能性將和您如何架構你的應用相關。運行后臺任務就是一個非常適合的例子,但是整個應用中的其它工作負載也是有可能的,例如:

1.考慮到延遲,用啟動一個容器來服務所有用戶的 HTTP 請求可能是不現(xiàn)實的。可是你可以寫一個內(nèi)置的負載均衡邏輯,讓它知道何時需要主動地自動擴容 Web 前端自身,通過在 Swarm 群集上運行更多 web 處理容器。

2.一個 MongoDB 容器可以在 Swarm 上成為一個具有自省能力的架構,它能自動地運行出正確數(shù)量的 shard 和 replica 容器。

接下來

我們已經(jīng)得到了這些激進的新工具,用做構建應用的抽象層,我們隱約看到了如何深入下去的可能性。我們依然像長時間以來在一堆服務器上構建應用一樣,而以后可以來利用 Swarm 能按需地在基礎架構里的任何地方執(zhí)行功能代碼的能力。

希望這些能夠給您一些如何構建應用的新思路,但是我們還需要你們的幫助。我們已經(jīng)有的是一些構建 Serverless 應用的基礎功能,然而他們依然不是很完備,我們需要更好的工具、庫、樣例程序,文檔等等。

責任編輯:趙立京 來源: 51CTO
相關推薦

2017-10-30 16:12:30

DockerServerless樹莓派

2014-11-18 10:37:15

dockerlinux技巧

2020-12-31 05:57:36

DockerSpringBootMaven

2015-07-15 11:31:49

Docker云服務鏡像構建

2022-10-27 14:25:46

無服務器Serverless云原生

2021-10-13 09:45:54

Serverless 應用調(diào)試

2021-09-18 10:23:43

Serverless

2022-06-09 09:00:00

編程語言后端Dark

2009-11-23 19:42:57

ibmdwmashup

2021-10-11 14:28:25

TypeScript企業(yè)級應用

2020-07-28 07:27:07

Vue前端Jquery

2017-03-13 16:30:50

React Route構建JavaScript

2018-03-26 04:53:46

Serverless微服務架構

2024-12-10 08:01:38

2012-03-21 09:36:33

ibmdw

2024-05-06 08:07:01

Spring項目Java

2011-10-11 09:15:58

移動應用PhoneGapGoodDay

2017-01-06 10:54:03

AndroidiOSJenkins

2025-02-17 08:11:59

C#類型安全生態(tài)系統(tǒng)
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲www啪成人一区二区麻豆 | 人人九九精 | 国产日韩精品一区二区 | 免费在线观看av网址 | 久久精品国产亚洲一区二区三区 | 色婷婷国产精品综合在线观看 | 韩国毛片一区二区三区 | 亚洲午夜精品一区二区三区他趣 | www.亚洲免费 | 国产精品视频免费观看 | 久久久青草婷婷精品综合日韩 | 国产羞羞视频在线观看 | 中文字幕视频三区 | 在线播放一区二区三区 | 欧美亚洲国产精品 | 91精品久久久久久久久中文字幕 | 欧美嘿咻| 久草网址 | 久草网址 | 一区二区三区欧美 | 亚洲人人 | 中文字幕第九页 | 成人午夜在线视频 | 91在线精品一区二区 | 黄色精品视频网站 | 亚洲网站在线观看 | 国产精品.xx视频.xxtv | 中文字幕一区二区三区乱码在线 | 波多野结衣精品在线 | 日韩在线精品强乱中文字幕 | 亚洲高清在线观看 | 涩涩导航| 成人美女免费网站视频 | 国产精品乱码一区二三区小蝌蚪 | 国产精品三级久久久久久电影 | 国产午夜精品视频 | 91色啪 | 欧美久久久| 欧美精品一区二区免费视频 | 国产午夜精品久久久 | 日韩欧美国产不卡 |