自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何實現(xiàn) Docker 與分布式數(shù)據(jù)庫結(jié)合

云計算 分布式
隨著如今開源軟件以及開源項目的熱潮,Docker作為如今在技術(shù)圈非?;鸨囊豢铋_源軟件產(chǎn)品,除了開源項目的貢獻非?;钴S,目前應(yīng)用也十分的廣泛,包括Redhat在內(nèi)的多個操作系統(tǒng)都已經(jīng)能支持Docker,而更是無數(shù)的軟件已經(jīng)在使用Docker鏡像進行安裝部署。

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

技術(shù)新潮流 - Docker

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

么Docker是什么呢?

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

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

1) 對于應(yīng)用程序,曾經(jīng)我們需要為了不同的系統(tǒng)專門的調(diào)整應(yīng)用程序的代碼或者是構(gòu)造相應(yīng)的依賴包驅(qū)動等等,大大增加了開發(fā)量以及開發(fā)的難度?,F(xiàn)在,Docker向不同的應(yīng)用程序,提供了一個統(tǒng)一的環(huán)境。

2) 對于服務(wù)器,為了支持不同版本的應(yīng)用,曾經(jīng)可能需要在物理機上安裝多個版本或者不同的GuestOS或者說虛擬機。這就大大占用了物理機的性能,影響了最終程序的表現(xiàn),提高了資源的成本。

 

Docker 與分布式數(shù)據(jù)庫結(jié)合

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

CoreOS是Docker的不二之選?

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

CoreOS是一個基于Linux 內(nèi)核的輕量級操作系統(tǒng),為了計算機集群的基礎(chǔ)設(shè)施建設(shè)而生,專注于自動化,輕松部署,安全,可靠,規(guī)模化。作為一個操作系統(tǒng),CoreOS 提供了在應(yīng)用容器內(nèi)部署應(yīng)用所需要的基礎(chǔ)功能環(huán)境以及一系列用于服務(wù)發(fā)現(xiàn)和配置共享的內(nèi)建工具。

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

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

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

#p#

Docker+分布式數(shù)據(jù)庫

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

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

 

 

 

Docker 與分布式數(shù)據(jù)庫結(jié)合

 

 

 

Docker 與分布式數(shù)據(jù)庫結(jié)合

 

 

 

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

Docker+分布式數(shù)據(jù)庫的結(jié)合,帶來諸多的好處:

1) 部署簡單,使用鏡像部署非常簡單,特別是對集群環(huán)境,使用Docker鏡像的部署還可以再數(shù)據(jù)庫上提前集成Hadoop、Spark等架構(gòu),真正實現(xiàn)“一步到位”。

2) 方便應(yīng)用的更新,應(yīng)用的更新只需要考慮制作一個新的鏡像就可以與容器適配,無需重新再調(diào)整與底層的配置。數(shù)據(jù)和程序的分離,這樣升級替換等等都不會影響到數(shù)據(jù)。

3) 操作簡單方便,除了底層免除了復(fù)雜的與環(huán)境進行配置的工作,操作也更加方便,配置好的Docker鏡像在部署時候只需要一條指令就可以了。

4) 開發(fā)、應(yīng)用環(huán)境一致,Docker讓數(shù)據(jù)庫能做到 開發(fā)---測試---實施應(yīng)用 三個階段的環(huán)境是完全一致的。降低開發(fā)到應(yīng)用過程中的工作量,開發(fā)出來就能保證實際應(yīng)用環(huán)境上能同樣的運行。

5) 系統(tǒng)穩(wěn)定,因為Docker的隔離作用,將應(yīng)用與OS獨立開,這樣能更好保證整個系統(tǒng)的穩(wěn)定性。

6) 節(jié)省系統(tǒng)資源,系統(tǒng)只需要運行一個統(tǒng)一的環(huán)境就可以,不需要占用太多性能去支持運行環(huán)境本身,能將更多的系統(tǒng)資源投入到應(yīng)用當(dāng)中。

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

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

博文出處:http://segmentfault.com/a/1190000002930030

責(zé)任編輯:Ophira 來源: segmentfault
相關(guān)推薦

2018-05-25 13:12:10

UCloud數(shù)據(jù)庫UDDB

2021-12-20 15:44:28

ShardingSph分布式數(shù)據(jù)庫開源

2023-12-05 07:30:40

KlustronBa數(shù)據(jù)庫

2022-03-10 06:36:59

分布式數(shù)據(jù)庫排序

2023-07-31 08:27:55

分布式數(shù)據(jù)庫架構(gòu)

2020-06-23 09:35:13

分布式數(shù)據(jù)庫網(wǎng)絡(luò)

2023-03-07 09:49:04

分布式數(shù)據(jù)庫

2023-07-28 07:56:45

分布式數(shù)據(jù)庫SQL

2022-08-01 18:33:45

關(guān)系型數(shù)據(jù)庫大數(shù)據(jù)

2024-09-09 09:19:57

2017-04-17 09:54:34

分布式數(shù)據(jù)庫PhxSQL

2022-12-08 08:13:11

分布式數(shù)據(jù)庫CAP

2010-06-29 16:41:24

SQL Server分

2017-05-02 21:05:01

分布式數(shù)據(jù)庫細說

2023-11-27 08:33:42

2024-03-11 08:57:02

國產(chǎn)數(shù)據(jù)庫證券

2023-11-14 08:24:59

性能Scylla系統(tǒng)架構(gòu)

2021-08-16 09:55:41

鴻蒙HarmonyOS應(yīng)用

2023-04-26 06:56:31

分布式數(shù)據(jù)庫偽需求

2012-09-29 13:18:23

分布式數(shù)據(jù)庫Google Span
點贊
收藏

51CTO技術(shù)棧公眾號