在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

什么是微服務和容器?微服務和容器的作用是什么

西西 ? 來源:IBM Developer ? 作者:Anthony Amanse ? 2019-01-13 10:54 ? 次閱讀

什么是微服務和容器?

首先,什么是微服務?微服務是將應用程序拆分為多個服務的一種架構類型,這些服務具備構成整個應用程序的細粒度功能。每個微服務將具備針對您的應用程序的不同邏輯功能。與應用程序的所有組件和功能都在單個實例中的單體架構相比,微服務是應用程序架構領域一種更為現代的方法。您可以參考下圖中單體架構與微服務架構的比較情況。

什么是微服務和容器?微服務和容器的作用是什么

我們要將微服務放置在哪里?在容器中。容器是存放軟件的包,里面包含運行軟件所需的一切內容,比如代碼、依賴關系、庫、二進制文件等等。Docker 是一種構建和運行容器的流行工具,但是 Kubernetes 正快速成為行業標準,用于編排企業環境中的多個容器。與虛擬機相比,容器可以共享操作系統內核,而不是像在一個主機上構建多個虛擬機那樣擁有完整的副本。雖然可以將微服務放置在多個虛擬機中,但在這種情況下通常會使用容器,因為容器占用的空間更少,啟動速度也更快。

為什么使用微服務架構?

微服務架構是為解決人們在單體應用程序中遇到的問題而創造的。微服務已被廣泛使用,一些大型網站已將他們的單體應用程序轉變為微服務。使用微服務架構的一些好處是:

與單體應用程序中的大型代碼庫相比,開發人員只需處理小型代碼庫。 當應用程序組件松散耦合時,開發人員可以輕松理解源代碼,而不會減慢開發速度。如果使用的代碼行數更少,您的 IDE 的速度顯然會更快。開發人員無需處理各種功能的復雜性和依賴關系,這種情況只會在單體應用程序中出現。

開發人員的職責將會更加明確。 可以按照應用程序的組件或微服務來分配團隊工作。代碼復查速度將會加快。與單體應用程序相比,更新速度將會加快,而且無需構建和部署一切內容。

應用程序的技術堆??梢酝ㄟ^微服務有所不同。應用程序不再需要依賴一種語言或庫。只要開發人員認為合適,微服務就可以利用多種不同編程語言。可以使用如下圖所示的多語言微服務。

什么是微服務和容器?微服務和容器的作用是什么

持續交付將變得更加容易。 對于簡單變更,使用微服務就無需像單體應用程序那樣再次重新部署一切。您可以選擇僅重新構建和部署需要更新的微服務。頻繁更新的速度將會加快。

可擴展性與每個微服務無關。您可以選擇根據應用程序所需的資源擴展它的每個組件。無需像單體應用程序那樣為一切內容構建多個實例。擴展微服務將會有效利用可用資源,而不是像在單體應用程序中那樣擁有整個應用程序的多個副本。

什么是微服務和容器?微服務和容器的作用是什么

數據可以分散化處理。您可以選擇為微服務使用不同的數據庫/存儲器。如果比起關系數據庫,您的微服務更適合使用非關系型數據庫,那么就可以選擇這種數據庫。微服務也可能只需要簡單的密鑰存儲數據庫,比如 Redis。如下圖所示,您可以選擇組合使用 Cloudant、MySQL 和 MongoDB。您可以利用不同的數據庫來存儲不同的數據類型。

什么是微服務和容器?微服務和容器的作用是什么

隔離故障。 一個微服務中的錯誤或缺陷不會使整個系統宕機。如果采用松散耦合的組件,您的應用程序中的微服務出現錯誤時,其他微服務不太可能受到影響,因為它們都在自己的容器中,不會完全依賴彼此。而對于單體應用程序,如果沒有正確找出缺陷或錯誤,就會使整個應用程序流程宕機。

存在哪些弊端?

在使用微服務解決單體架構的一些問題時,每種微服務都存在一系列問題。如果您試圖將單體應用程序拆分為微服務,那么第一個挑戰就是如何拆分。您可以選擇將它們拆分為多個業務功能,比如一個微服務處理批次,另一個微服務處理支付服務。最后,您的組件應該只具有一小部分的功能或責任。

我在微服務架構中看到的一些問題如下:

一旦微服務數量增長,就會難以進行跟蹤。持續集成和持續交付的初始設置工作也并非易事,因為您需要處理擁有多個微服務所帶來的額外復雜性。

復雜性。微服務需要加強協作,尤其是在有多個團隊參與的時候。如果需要與其他微服務交互,那么微服務還會引進更多的網絡調用,而在單體應用程序中則不會出現這種情況。部署微服務并不像部署應用程序的一個實例那樣簡單。您還需要考慮其他很多問題:如何處理各個微服務之間的通信,解決錯誤以避免中斷其他微服務,以及在每個組件中添加更多測試用例。

找到并跟蹤應用程序中的缺陷/錯誤。如果您的微服務只有一條路徑,那么查找起來會比較容易,但如果一個微服務與其他多個微服務進行通信,僅查找錯誤就會耗費大量時間。

什么是微服務和容器?微服務和容器的作用是什么

進行微服務路由需要完成更多工作。您需要花時間來配置和控制微服務的流動。您還需要持續跟蹤微服務的版本,并解決其路由問題。

什么是微服務和容器?微服務和容器的作用是什么

微服務會消耗比單體應用程序更多的資源。雖然我提到的優點之一就是可以更出色、更有效地利用可擴展性和資源,但是所有組件都需要有自己的實例和容器,這可能就會導致內存和 CPU 使用量增多。

可幫助您使用微服務的工具

Kubernetes

Kubernetes 是一個容器編排平臺,支持部署、擴展和管理所有容器。它可以自動部署容器化的微服務。這就更便于管理應用程序的所有組件和微服務。您可能會希望了解 Docker 如何實現微服務容器化。IBM 公開發布了產品 IBM Cloud Kubernetes Service,可以為您管理集群。

Istio

Istio 能夠解決微服務中的一些弊端。Istio 是一種服務網格,可進一步幫助您管理微服務。Istio 可以安裝在 Kubernetes 之上,幫助您跟蹤和監控微服務。同時,還可以幫助您快速跟蹤應用程序中可能存在的錯誤和缺陷。Istio 還可以管理微服務的流量,比如管理和控制流動??梢暂p松配置路由。Istio 也可以在微服務中提供安全保障,比如采用相互 TLS,或限制它訪問外部服務。您也可以將 Istio 安裝到 IBM Cloud Kubernetes Service 上。

總結

根據我的個人經驗,使用容器編排平臺是通過微服務構建應用程序的必要條件。Kubernetes 是廣受開發人員歡迎的一種平臺,因為它可以快速將應用程序從開發階段帶入生產環境。更棒的是,它是開源的!

對于開始構建自己的應用程序的開發人員來說,他們應該確定使用微服務是否比使用單體應用程序對他們更有利。他們應該考慮應用程序的長期易用性和可擴展性。從單體架構著手完全沒有問題,但是一旦應用程序規模擴大,將它們拆分為微服務的難度只會更大。在這種情況下,在初期開發階段就從微服務開始顯然會更加有利。對于現有的單體應用程序,開發人員應該考慮以何種方式分離應用程序中的哪些組件。

盡管存在一些弊端,但微服務在開發人員和企業中仍然很受歡迎,因為微服務對于應用程序和滿足用戶需求都極為有利。一旦使用了合適級別的微服務,借助它的靈活性,開發人員和企業就可以快速開發或更新應用程序。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 電容器
    +關注

    關注

    64

    文章

    6222

    瀏覽量

    99622
  • 微服務
    +關注

    關注

    0

    文章

    137

    瀏覽量

    7348
收藏 人收藏

    評論

    相關推薦

    微服務架構和CQRS架構基本概念介紹

    微服務架構現在很熱,到處可以看到各大互聯網公司的微服務實踐的分享總結。但是,我今天的分享和微服務沒有關系,希望可以帶給大家一些新的東西。如果一定要說微服務和CQRS架構的關系,那我覺得
    發表于 05-22 09:03

    微服務網關gateway的相關資料推薦

    目錄微服務網關 gateway 概述[路由器網關 Zuul 概述]嵌入式 Zuul 反向代理微服務網關 gateway 概述1、想象一下一個購物應用程序的產品詳情頁面展示了指定商品的信息:2、若是
    發表于 12-23 08:19

    運維是如何看待微服務容器

    微服務在帶來良好的設計和架構理念的同時,也帶來了運維上的額外復雜性,尤其是在服務部署和服務監控上。那么,運維是如何看待微服務容器的呢?傳統
    發表于 09-30 17:24 ?0次下載
    運維是如何看待<b class='flag-5'>微服務</b>和<b class='flag-5'>容器</b>的

    微服務容器技術實踐

    基于微服務架構的技術實踐(點擊下載演講PPT) 普元信息主任架構師顧偉在演講中,分享了他們對微服務架構的認識,包括微服務演進過程、常見認知誤區等,并闡述了結合容器云技術,分享在
    發表于 10-10 10:23 ?1次下載
    <b class='flag-5'>微服務</b>與<b class='flag-5'>容器</b>技術實踐

    什么是微服務_微服務知識點全面總結

    微服務是一個新興的軟件架構,就是把一個大型的單個應用程序和服務拆分為數十個的支持微服務。一個微服務的策略可以讓工作變得更為簡便,它可擴展單個組件而不是整個的應用程序堆棧,從而滿足
    的頭像 發表于 02-07 16:06 ?1.5w次閱讀

    java微服務架構有哪些

    本文首先簡單介紹了微服務的概念以及使用微服務所能帶來的優勢,然后結合實例介紹了幾個常見的Java微服務框架。微服務在開發領域的應用越來越廣泛,因為開發人員致力于創建更大、更復雜的應用程
    的頭像 發表于 02-09 10:34 ?8667次閱讀
    java<b class='flag-5'>微服務</b>架構有哪些

    微服務容器之間的有何關系?

    現在一提到微服務,有很多人會想到容器技術(這里說到的容器技術是指docker)。那么微服務容器之間到底有什么關系呢,我來簡要和大家探討下。
    的頭像 發表于 02-01 01:58 ?6150次閱讀

    通過微服務原理、領域驅動設計概念等來成功實現微服務

    組織通過微服務基本準則、領域驅動的設計概念和編碼優秀實踐成功地使用微服務,可以充分利用Kubernetes/容器原生的優勢。
    的頭像 發表于 08-14 10:02 ?1906次閱讀

    微服務架構有哪些_微服務架構設計模式

    小伙伴們知道常用的微服務架構框架有哪些嗎?上回我們介紹了一些常用的微服務架構設計模式,這次我們就來了解一下一些常用的微服務架構框架吧。
    的頭像 發表于 05-17 17:06 ?2.9w次閱讀
    <b class='flag-5'>微服務</b>架構有哪些_<b class='flag-5'>微服務</b>架構設計模式

    docker微服務架構實戰

    隨著云計算和容器化技術的快速發展,微服務架構在軟件開發領域中變得越來越流行。微服務架構將一個大型的軟件應用拆分成多個小型的、獨立部署的服務,每個服務
    的頭像 發表于 11-23 09:26 ?651次閱讀

    設計微服務架構的原則

    微服務是一種軟件架構策略,有利于改善整體性能和可擴展性。你可能會想,我的團隊需不需要采用微服務,設計微服務架構有哪些原則?本文會給你一些靈感。文章速覽:微服務設計的要素
    的頭像 發表于 11-26 08:05 ?596次閱讀
    設計<b class='flag-5'>微服務</b>架構的原則

    游戲公司不使用微服務架構的原因

    微服務基本只有 request/response 的模式。做不了 streaming?微服務通常要求應用是無狀態的才能做到水平擴展。streaming 本身就是加入了狀態
    的頭像 發表于 12-29 11:18 ?443次閱讀

    入門級攻略:如何容器化部署微服務

    第一步理解容器化基礎,第二步創建Dockerfile,第三步構建推送鏡像,第四步部署微服務,第五步管理微服務、第六步優化更新。容器化部署微服務
    的頭像 發表于 10-09 10:08 ?156次閱讀

    微服務架構與容器云的關系與區別

    微服務架構與容器云密切相關又有所區別。微服務將大型應用拆分為小型、獨立的服務,而容器云基于容器
    的頭像 發表于 10-21 17:28 ?226次閱讀

    寶藏級微服務架構工具合集

    構建,Eclipse Vert.X提供多語言支持且資源高效;Kubernetes是強大的容器編排工具,Tyk是開源API管理平臺;RabbitMQ幫助微服務間通信,Apache Kafka則適用于處理
    的頭像 發表于 12-21 16:33 ?136次閱讀
    主站蜘蛛池模板: 天天干天天碰| 欧美精品专区55页| 亚洲婷婷国产精品电影人久久| 四虎影院在线观看免费| 色婷婷六月丁香在线观看| 国产一级淫| 国内精品 第一页| 99pao强力打造免费高清色| 五月婷婷丁香久久| 都市激情 亚洲| 免费色片网站| 激情六月丁香婷婷| 亚洲伊人成人网| 欧美有码视频| 手机看片国产免费久久网| 视频一区亚洲| 免费欧美黄色网址| 欧美ggg666| 一级视频在线观看| 国产98色在线| 男操女视频网站| 日日噜夜夜噜| 天天干天天操天天舔| 日本69xxxxxxxx69| 色老头在线精品视频在线播放| 在线国产资源| 午夜视频免费观看黄| 最新理论三级中文在线观看| 色人在线| 色五月情| 亚洲网站www| 在线永久免费播放视频| 亚洲一区二区三区免费视频 | 色多多在线| 天天射天天爽| 亚洲天堂视频在线观看免费| 欧美午夜片| 国产在线免| 日本免费黄色| 狠久久| 色播五月婷婷|