微服務與Docker介紹

什麼是微服務

微服務應用的一個最大的優勢是,它們每每比傳統的應用程序更有效地利用計算資源。這是由於它們經過擴展組件來處理功能瓶頸問題。這樣一來,開發人員只須要爲額外的組件部署計算資源,而不須要部署一個完整的應用程序的全新迭代。最終的結果是有更多的資源能夠提供給其它任務。html

• 一種軟件架構模式 
• 複雜應用解耦爲小而衆的服務 
• 各服務精而專 
• 服務間通訊經過API完成docker

image

微服務應用程序的另外一個好處是,它們更快且更容易更新。當開發者對一個傳統的單體應用程序進行變動時,他們必須作詳細的QA測試,以確保變動不會影響其餘特性或功能。但有了微服務,開發者能夠更新應用程序的單個組件,而不會影響其餘的部分。測試微服務應用程序仍然是必需的,但它更容易識別和隔離問題,從而加快開發速度並支持DevOps和持續應用程序開發。json

第三個好處是,微服務架構有助於新興的雲服務,如事件驅動計算。相似AWS Lambda這樣的功能讓開發人員可以編寫代碼處於休眠狀態,直到應用程序事件觸發。事件處理時才須要使用計算資源,而企業只須要爲每次事件,而不是固定數目的計算實例支付。服務器

擴展立方模型(Scale  Cube)

cube

Y軸 功能解耦 經過分解 不一樣模塊擴展 
X軸 水平副本 經過副本擴展 
Z軸 數據分區 經過分解 類似內容擴展網絡

Docker是什麼

Docker 是一個開源的應用容器引擎,讓開發者能夠打包他們的應用以及依賴包到一個可移植的容器中,而後發佈到任何流行的 Linux 機器上,也能夠實現虛擬化。容器是徹底使用沙箱機制,相互之間不會有任何接口(相似 iPhone 的 app)。幾乎沒有性能開銷,能夠很容易地在機器和數據中心中運行。最重要的是,他們不依賴於任何語言、框架包括系統。架構

image

Docker包含兩方面技術

-鏡像技術  
打破「代碼即應用」的觀念 
從系統環境開始,自底至上打包應用app

image

image

微服務和Docker

Dev 
開發簡單有效的模塊        
配置是一個運行時的限制     
再也不是異常複雜的應用    
new    WebServer().start(8080); 
    
Ops 
管理硬件設施 
監控&反饋    
不是應用的執行細節    框架


結合擴展立方(Scale   Cube)運維

image

Docker化實踐

本質:進程隔離,資源管理微服務

• App-Centric的體現 
• Single-Process的真實含義

image

Docker化實踐——進程隔離

image

Dockerfile、Docker鏡像與Docker容器

image

容器內技術棧: 
1.單進程理念 
2.不存在傳統的init進程(全局PID=1) 
——dockerinit與init進程的區別 
3.缺乏基本的服務進程 
——cron 
——rsyslogd等 
4.與內核進程通訊能力薄弱(ipc命名空間隔離) 
  
致使遺留系統Docker化存在壓力。 重構?非重構下的最佳實踐?

Docker化實踐——日誌管理


原理:stdout&stderr 

傳統模式: 
      -stdout&stderr    
      -磁盤日誌文件 
      -日誌服務器 
日誌持久化磁盤的弊端 
      -移植性 
      -部署複雜度 
日誌Docker層面管理 
      -json-file     
      -syslog(並不是應用調用syslog) 
      -fluetd

image

以syslog爲例 
image

Docker化實踐——日誌管理

image

Docker化實踐——配置管理

傳統方式:配置文件 
• Docker容器的無狀態 
• 配置文件的狀態性 
• Docker容器依賴配置文件 
• 額外的配置管理需求 
• 非自動化 
• 非標準化

• 沿用傳統模式——配置文件 
——使用掛載volume的方式 
——配置文件與宿主機耦合 

• 採用環境變量方式 
——打包配置進入Docker鏡像 
——打包配置進入Docker容器 
——完美支持編排工具compose 
  
• 環境變量與配置文件共存 
——修改Docker鏡像執行入口 
——使用環境變量替換配置文件


今天先到這兒,但願對您有參考做用, 您可能感興趣的文章: 
構建高效的研發與自動化運維 
IT基礎架構規劃方案一(網絡系統規劃) 
餐飲行業解決方案之客戶分析流程 
餐飲行業解決方案之採購戰略制定與實施流程 
餐飲行業解決方案之業務設計流程 
供應鏈需求調研CheckList 
企業應用之性能實時度量系統演變

https://www.cnblogs.com/wintersun/archive/2016/01/16/5136385.html

相關文章
相關標籤/搜索