国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Docker 與分布式數據庫結合

jsdt / 1497人閱讀

摘要:分布式數據庫的結合,帶來諸多的好處部署簡單,使用鏡像部署非常簡單,特別是對集群環境,使用鏡像的部署還可以再數據庫上提前集成等架構,真正實現一步到位。

來自重慶慧谷科技的蔣勇先生,作為SequoiaDB社區的“骨灰級成員”,于最近分享了主題為“Dockerizing SequoiaDB”的技術專題,分享主要介紹了他們公司如何使用Docker制作國內領先的NoSQL數據庫SequoiaDB的鏡像的過程,以及有關Docker和Core OS一些介紹和使用心得,那么筆者就將對他的演講進行歸納總結,順便談一談Docker與分布式數據庫結合的必要性。

技術新潮流 - Docker

隨著如今開源軟件以及開源項目的熱潮,Docker作為如今在技術圈非常火爆的一款開源軟件產品,除了開源項目的貢獻非常活躍,目前應用也十分的廣泛,包括Redhat在內的多個操作系統都已經能支持Docker,而更是無數的軟件已經在使用Docker鏡像進行安裝部署。

那么Docker是什么呢?

  

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

這是對Docker的一個官方解釋,簡單說,有兩個部分:

1) 對于應用程序,曾經我們需要為了不同的系統專門的調整應用程序的代碼或者是構造相應的依賴包驅動等等,大大增加了開發量以及開發的難度。現在,Docker向不同的應用程序,提供了一個統一的環境。
2) 對于服務器,為了支持不同版本的應用,曾經可能需要在物理機上安裝多個版本或者不同的GuestOS或者說虛擬機。這就大大占用了物理機的性能,影響了最終程序的表現,提高了資源的成本。

使用Docker容器的方式,對于應用程序,不需要開發多種多樣的版本或者是針對OS每個版本的升級再進行代碼方面的調整,實現了廣泛的兼容性和開發的最簡性。同時對于物理機,部署的環境“瘦身”也節約了更多的資源,將更多的資源用于提高應用程序本身的性能。

CoreOS是Docker的不二之選?

之前大概介紹了Docker,那么服務器上面還是需要最基本的應操作系統才能支撐Docker容器,那么這么多中的Linux內核OS究竟哪一個好呢?筆者和很多Docker技術專家的的觀點就是Core OS。

  

CoreOS是一個基于Linux 內核的輕量級操作系統,為了計算機集群的基礎設施建設而生,專注于自動化,輕松部署,安全,可靠,規模化。作為一個操作系統,CoreOS 提供了在應用容器內部署應用所需要的基礎功能環境以及一系列用于服務發現和配置共享的內建工具。

簡單說,CoreOS去掉了大量的非必要的功能,只保留了Server端需要的最基本功能,真正意義做到了“輕量化”。

此外,CoreOS還做到了:整體系統升級/回滾方案;容器化所有非系統應用、無包管理器;集群化調度器Fleet;分布式高可靠的KV存儲系統ETCD

這些特性都讓它成為Docker生態的首選操作系統。不過最新的消息是,CoreOS不滿足于做Docker生態下的一環,它正在推出自己的容器AppC計劃,想對Docker來一招“釜底抽薪”。當然,現階段并沒有出現完全的兩者 “分手”,所以對于普通使用者,并沒有太大影響。

Docker+分布式數據庫

數據庫是每一個軟件項目必須的一個部分,作為這樣的一類底層基礎軟件,兼容性、通用性、易用度都是需要考慮的重點。非常遺憾的是,現在的操作系統以及數據庫都沒有完全的實現完全的通用。特別對于NoSQL數據庫這樣的分布式系統,需要部署在多臺物理機時,對于通用性要求就更高了。

目前,像SequoiaDB已經實現了自動化的安裝,大大提升了部署的效率,但是考慮到部署之后的配置以及不同環境下的調試問題,仍然可能會耗費不小的人力物力。所以基于剛剛提到的Docker的優點,作為一個通用的基礎軟件,NoSQL數據庫的Docker化就成了必須。



一個簡單的例子,你可以用docker把數據庫的數據與數據庫程序本身分離開:用一個container A作為數據存儲,然后另一個container B運行數據庫。當你想升級數據庫時,用新的container C替換掉container B即可。

Docker+分布式數據庫的結合,帶來諸多的好處:

1) 部署簡單,使用鏡像部署非常簡單,特別是對集群環境,使用Docker鏡像的部署還可以再數據庫上提前集成Hadoop、Spark等架構,真正實現“一步到位”。
2) 方便應用的更新,應用的更新只需要考慮制作一個新的鏡像就可以與容器適配,無需重新再調整與底層的配置。數據和程序的分離,這樣升級替換等等都不會影響到數據。
3) 操作簡單方便,除了底層免除了復雜的與環境進行配置的工作,操作也更加方便,配置好的Docker鏡像在部署時候只需要一條指令就可以了。
4) 開發、應用環境一致,Docker讓數據庫能做到 開發---測試---實施應用 三個階段的環境是完全一致的。降低開發到應用過程中的工作量,開發出來就能保證實際應用環境上能同樣的運行。
5) 系統穩定,因為Docker的隔離作用,將應用與OS獨立開,這樣能更好保證整個系統的穩定性。
6) 節省系統資源,系統只需要運行一個統一的環境就可以,不需要占用太多性能去支持運行環境本身,能將更多的系統資源投入到應用當中。

有了這些特性, Docker+數據庫,將成為一個數據庫發展的新方向,Docker這樣的通用性和簡單操作解決方案,大大提高了數據庫使用的效率,幫助使用者節約了大量成本。

Docker是如今技術圈的新潮流,開發人員是最樂見于Docker的這種應用部署模式,因為應用的生命周期起始于開發人員的開發系統,經過開發,測試,壓力測試,等過程,最終應用發布到生產系統,并可能在不同的生產系統中遷移。應用開發人員對此都會有切身的體會,任何微小的運行環境的錯誤都會導致應用出現問題,尤其在講究快速敏捷的今天,應用模塊,新的代碼,新的配置,被快速的加入應用的環境中,可能還沒等寫入到文檔,新特性就已經被推送到生產上了。作為一個新的技術,筆者也希望更多的產品能加強與Docker的結合,幫助產品更好的使用。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/26423.html

相關文章

  • [原]海納百川 有容乃大:SparkRDocker的機器學習實戰

    摘要:類似包中的功能這很好的解決了的大數據級瓶頸問題。也支持分布式的機器學習算法,比如使用機器學習庫。部署本文將通過講解如何快速部署容器,并通過一些簡單的機器學習例子展示如何使用這個航母級別的組合拳。 showImg(https://segmentfault.com/img/remote/1460000004838121); 題圖為美國尼米茲核動力航空母艦 介紹 大數據時代,我們常常面對海量...

    CHENGKANG 評論0 收藏0
  • SegmentFault D-Day 上海站回顧 Docker

    摘要:期待大家的參與上海站圓滿結束,嘉賓和觀眾熱情不減,現場分享也讓上海觀眾收獲到滿滿的干貨,期望我們未來為大家帶來更多有趣的話題。 SegmentFault D-Day Docker 主題沙龍上海站,在五角場 VMware 上海研發中心完美結束,本次沙龍我們邀請具有實踐經驗的四位嘉賓,分享滿滿的干貨,為開發者們介紹 Docker 技術及其應用。 showImg(https://segmen...

    chaos_G 評論0 收藏0
  • Docker正方登場——未來正在遠方……

    摘要:并不是因為它是閃亮的新事物或者它是一些虛構的最佳實踐,而是因為像亞馬遜或者已經在這上面投入了年的心血,他們告訴了我們如何構建真正有規模的系統。截止目前,我們已經部署了由亞馬遜等提供的重量級虛擬化服務器。 周一時候數人云與大家分享了一篇關于Docker的反方言論——《一份Docker的反方辯論——我還是用Heroku好了》,一周之后,同樣的作者,又為Docker正名,寫了一篇正方言論。D...

    waruqi 評論0 收藏0

發表評論

0條評論

jsdt

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<