日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

微服务的前世今生

發布時間:2023/12/4 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 微服务的前世今生 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

譯者:周元昊

與許多人認為的不同,微服務的概念已有相當長的歷史,SOA(面向服務的體系架構)也不是90年代才被提出的。在最近舉辦的倫敦微服務大會上,Greg Young就微服務核心概念的前世今生進行了演講。其中他表示,在過去的50年間,我們一直在使用服務這一概念背后的核心思想。

Young引用了Martin Fowler微服務主要特性的描述,最重要的是其獨立替換系統中單個服務的能力、對業務能力的組織以及智能端點(smart endpoint)與啞管道(dumb pipes)的使用,Young提到的這些特性SOA也同樣具備。

Young提及,在1970年代最初提出的面向對象模型中,可以將一個對象理解為一個小型的計算機,用戶通過向它發送信息使其工作。同時期的參與者(Actor)模式也是基于相似的概念,將參與者作為一個小計算機,用戶向參與者的郵箱發送信息。它們都是微服務核心概念的前身,雖然使用的工具或消息傳遞方式不盡相同,但是內在的思想并沒有改變。如今我們認為SOA已經失敗了,而微服務將會成功,但Young表示SOA的基礎概念并沒有任何錯誤,微服務的優點在SOA架構中也早已存在。

回顧近50年的經驗教訓,Young引用了分布式計算第一定律來概括:如果不是真正需要就不要讓系統分布式。將應用分成多個服務,再將它們部署在同一臺服務器上,甚至在同一個進程上,這樣做并沒有不對。Young表示,大部分系統,尤其是小型業務系統,并不需要分布式來提供可伸縮性,但是可以通過分布式來提升可用性。

我們真正需要的是服務間的隔離。當各個服務在同一服務器的各自進程中運行時,我們可以確保服務間遵循相互的協議。進一步隔離的方式是將各個服務運行在獨立的Docker容器中。這樣減少了各服務間內容的共享,從而達到更好的隔離性。再進一步可以將每個服務運行在獨立的節點上。

選擇一定層級隔離的原因之一是為了處理相關的錯誤。當在同一個進程中運行所有的微服務時,如果進程重啟,所有的服務會被停止。而將服務運行在各自的進程中的話,單個進程重啟只會影響一個服務。當然重啟服務器會停止所有服務,所以將各個服務部署在獨立的服務器上或雙服務器雙實例,會大大減少重啟給服務可用性帶來的影響。

當然每一種隔離層級都伴隨著相應的成本。使用一臺服務器多個進程相對于每個服務一個節點更容易實現。這其中并沒有誰對誰錯,有的只是各因素間的權衡。在提升系統的隔離級別的同時,你也會相應增加系統的成本和復雜度。Young同時引用Simon Brown的話:

如果你無法在單進程的獨立應用上實現構建,那你如何確信在引入網絡通信后問題可以得到解決?

Young認為,使用不同的隔離策略的一個優勢是我們不需要提前做出一些決定,我們也不需要保持生產環境和開發環境使用一樣的隔離級別。他表示這也是使用微服務架構的一個主要好處。

明年的倫敦微服務大會將與2017年11月6-7日舉辦。


細說云計算

ID:CloudNote


▲長按二維碼識別關注

探討云計算的一切,

有干貨,也有閑聊。



內容轉載自公眾號

細說云計算 了解更多

總結

以上是生活随笔為你收集整理的微服务的前世今生的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。