最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql是否需要容器化深入分析

 更新時(shí)間:2023年09月06日 14:24:40   作者:氣宇軒昂的麻辣香鍋  
這篇文章主要為大家介紹了mysql是否需要容器化深入解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

正文

在容器化的時(shí)代,當(dāng)然一切皆可容器化。在docker官網(wǎng)首頁赫然有下面這幾個(gè)大字。足以知道docker的優(yōu)勢。那么且問,mysql適合跑在docker中嗎?

當(dāng)然,這個(gè)問題有人說可以,也有人說不可以。下面我們就正反都來看下各自的觀點(diǎn)。

1. 不可以容器化  

大部分人的理由有兩個(gè):

其一,數(shù)據(jù)安全性不能保障

在容器或者docker出現(xiàn)故障時(shí),不易恢復(fù)。即使使用數(shù)據(jù)卷掛載(volume)也會在容器故障時(shí)產(chǎn)生數(shù)據(jù)問題,共享的數(shù)據(jù)卷且對宿主機(jī)也會有損傷。即數(shù)據(jù)的持久化和完整性不能保證。docker適合無狀態(tài)的服務(wù),不適合有數(shù)據(jù)狀態(tài)的mysql。

其二,影響mysql性能

mysql我們常用來讀寫,那么IO性能就會受docker影響,最終瓶頸出現(xiàn)在寫(在做了掛載情況下);且如果物理機(jī)其他應(yīng)用占用過多資源,也會影響到容器。

當(dāng)然,以上的問題,也都有對應(yīng)的解決方案,但時(shí)也足夠復(fù)雜;對研發(fā)力量不足的企業(yè)來說,如果盲目容器化的話,可能會撿了芝麻,丟了西瓜?! ?/p>

2. 可以容器化  

有的小伙伴就會說了,同樣是服務(wù),業(yè)務(wù)服務(wù)都是跑在docker中的,數(shù)據(jù)庫服務(wù)有何不可?

我只要配置下數(shù)據(jù)卷掛載,解決掉數(shù)據(jù)持久化問題,基本上就問題不大了。

比如:

docker run -p 3306:3306 --name mysql 
-v /mydata/mysql/log:/var/log/mysql 
-v /mydata/mysql/data:/var/lib/mysql 
-v /mydata/mysql/conf:/etc/mysql
-e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

亦或是docker官方給的mysql容器化的配置sample

services:
  backend:
    build: backend
    ports:
      - 8080:8080
    secrets:
      - db-password
  db:
    # We use a mariadb image which supports both amd64 & arm64 architecture
    image: mariadb:10.6.4-focal
    # If you really want to use MySQL, uncomment the following line
    #image: mysql:8.0.27
    restart: always
    secrets:
      - db-password
    volumes:
      - db-data:/var/lib/mysql
    environment:
      - MYSQL_DATABASE=example
      - MYSQL_ROOT_PASSWORD_FILE=/run/secrets/db-password
    expose:
      - 3306
      - 33060   
volumes:
  db-data:
secrets:
  db-password:
    file: db/password.txt

兩個(gè)例子都是通過-v把mysql相關(guān)目錄數(shù)據(jù)做好掛載,那么在容器出現(xiàn)故障或者被刪除時(shí),能夠保證相關(guān)數(shù)據(jù)在宿主機(jī)中存在。讓數(shù)據(jù)恢復(fù)成為了可能性。注意!是可能性

當(dāng)然還有docker天然的優(yōu)勢:  

  • 簡化部署,可移植性高 
  • 保證環(huán)境一致性
  • 這兩個(gè)優(yōu)勢 就足以促使很多人去做容器化部署。(估計(jì)大家都被手動部署,遷移,多環(huán)境問題搞得頭大過)

小結(jié)

兩種觀點(diǎn)或者是叫兩種方案沒有對錯(cuò)。也不應(yīng)該有爭論。而應(yīng)該實(shí)事求是,根據(jù)當(dāng)前的業(yè)務(wù)發(fā)展,研發(fā)力量來決策。如果沒有那個(gè)技術(shù)力量,就老老實(shí)實(shí)部署在物理機(jī)上,成本和風(fēng)險(xiǎn)更小。只是“萬事開頭難”而已。如果有實(shí)力,有技術(shù),那么需要設(shè)計(jì)出一個(gè)好的架構(gòu)方案;比如需要考慮鏡像管理,監(jiān)控,容器災(zāi)備,存儲擴(kuò)展,k8s等。技術(shù)的潮流一定是容器化,serverless化。作為技術(shù)人們要擁抱變化,要去踏浪,否則只會被淹沒在歷史的浪潮里。

以上就是mysql是否需要容器化深入解析的詳細(xì)內(nèi)容,更多關(guān)于mysql容器化的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論

会泽县| 屯门区| 四子王旗| 上蔡县| 那曲县| 景泰县| 卓尼县| 红原县| 仪征市| 南宫市| 商河县| 平利县| 古丈县| 吉林省| 宝鸡市| 洱源县| 平邑县| 滦南县| 拜泉县| 潼关县| 巴楚县| 铅山县| 石棉县| 多伦县| 石台县| 志丹县| 兴仁县| 抚顺县| 淅川县| 凤山市| 铜陵市| 静安区| 二连浩特市| 屯留县| 梁平县| 东平县| 南京市| 连山| 舟曲县| 宕昌县| 西盟|