1. 程式人生 > >『高級篇』docker之服務發現、部署更新和擴容(七)

『高級篇』docker之服務發現、部署更新和擴容(七)

所有 gem 測試 域名解析 cbc 代碼更新 mage ftp dock

>原創文章,歡迎轉載。轉載請註明:轉載自IT人故事會,謝謝!
>原文鏈接地址:『高級篇』docker之服務發現、部署更新和擴容(七)

服務發現

所有的表現形式都是ip+端口的形式。

  • 傳統服務

    服務比較少的話,可以通過下面的方式。如果服務很多的話,基本運維人員都崩潰死了。

技術分享圖片

  • 微服務

    服務太多的話,需要一種服務發現的機制。

  1. 客戶端的發現
  2. 服務端的發現

技術分享圖片

技術分享圖片

部署更新和擴容

  • 傳統服務

    適合小項目,服務少,服務器少。

    1. 新服務的部署,代碼寫好,內網測試通過,上線,跟運維交涉那臺服務器比較空閑,資源比較吃緊的情況,需要等待服務器到來在進行部署。服務器有了告訴運維將那個應用拷貝到我們的服務器上,可能通過ftp或者是自動化的方式,如果是web方法會需要拷貝一個tomcat分配一個端口號。查詢服務器那些端口被用了,找一個沒有被占用的,跟你的域名做域名解析,修改nginx,反向代理指向剛才的tomcat上。
    2. 更新直接ftp或者自動化更新下舊代碼,直接用新代碼更新就可以了。
    3. 任何應用都是2個實例,讓服務高可用,所以更新代碼的時候需要更新2次。下線一臺,更新代碼,上線。如果自動化做的不太好的話,基本人工成本很高
    4. 擴容跟部署一樣都比較麻煩。
  • 微服務

    服務數據居多,更新上線頻繁。微服務如何解決這些問題呢
    什麽是服務排版,服務的發現,服務部署,服務更新,擴容,簡化。

流行的服務編排工具

可以解決微服務遇到本節問題的解決

  • Mesos
  • docker swarm
  • k8s

PS:拋出微服務的解決方案了,之後繼續學習吧。

『高級篇』docker之服務發現、部署更新和擴容(七)