Linux_FastDFS分佈式文件系統——搭建

 

文章目的

最近要用這個:

瞭解項目中使用FastDFS的原因和意義。

掌握FastDFS的架構組成部分,能說出trackerstorage的作用。

瞭解FastDFS+nginx上傳和下載的執行流程。

掌握FastDFS+nginx在項目中作爲圖片服務器,上傳和下載方法。

 

FastDFS介紹

2.1 什麼是FastDFS

一、FastDFS簡介

 FastDFS是由國人餘慶所開發,其項目地址:https://github.com/happyfish100 
 FastDFS是一個輕量級的開源分佈式文件系統,主要解決了大容量的文件存儲和高併發訪問的問題,文件存取時實現了負載均衡。 
 支持存儲服務器在線擴容,支持相同的文件只保存一份,節約磁盤。 
 FastDFS只能通過Client API訪問,不支持POSIX訪問方式。 
 FastDFS適合中大型網站使用,用來存儲資源文件(如:圖片、文檔、視頻等)

 

2.2 FastDFS架構

各個分佈式存儲系統的對比:



FastDFS的兩個核心概念分別是:Tracker(跟蹤器)、Storage(存儲節點)。

客戶端請求Tracker server進行文件上傳、下載,通過Tracker server調度最終由Storage server完成文件上傳和下載。

Tracker server作用是負載均衡和調度,通過Tracker server在文件上傳時可以根據一些策略找到Storage server提供文件上傳服務。可以將tracker稱爲追蹤服務器或調度服務器。

Storage server作用是文件存儲,客戶端上傳的文件最終存儲在Storage服務器上,Storage server沒有實現自己的文件系統而是利用操作系統的文件系統來管理文件。可以將storage稱爲存儲服務器。

 

如下圖

 

  跟蹤器Tracker主要做調度工作,相當於mvc中的controller的角色,在訪問上起負載均衡的作用。跟蹤器和存儲節點都可以由一臺或多臺服務器構成,跟蹤器和存儲節點中的服務器均可以隨時增加或下線而不會影響線上服務,其中跟蹤器中的所有服務器都是對等的,可以根據服務器的壓力情況隨時增加或減少。

     跟蹤器Tracker負責管理所有的Storagegroup每個Storage在啓動後會連接Tracker告知自己所屬的group等信息,並保持週期性的心跳,tracker根據storage的心跳信息,建立group==>[storage server list]的映射表Tracker需要管理的元信息很少,會全部存儲在內存中;另外tracker上的元信息都是由storage彙報的信息生成的,本身不需要持久化任何數據,這樣使得tracker非常容易擴展,直接增加tracker機器即可擴展爲tracker cluster來服務,cluster裏每個tracker之間是完全對等的,所有的tracker都接受stroage的心跳信息,生成元數據信息來提供讀寫服務。 

        存儲節點Storage採用了分卷[Volume](或分組[group])的組織方式,存儲系統由一個或多個組組成,組與組之間的文件是相互獨立的,所有組的文件容量累加就是整個存儲系統中的文件容量。

   一個卷[Volume](組[group])可以由一臺或多臺存儲服務器組成,一個組中的存儲服務器中的文件都是相同的,組中的多臺存儲服務器起到了冗餘備份和負載均衡的作用,數據互爲備份,存儲空間以group內容量最小的storage爲準,所以建議group內的多個storage儘量配置相同,以免造成存儲空間的浪費。

2.2.1 Tracker 集羣

FastDFS集羣中的Tracker server可以有多臺,Tracker server之間是相互平等關係同時提供服務,Tracker server不存在單點故障。客戶端請求Tracker server採用輪詢方式,如果請求的tracker無法提供服務則換另一個tracker

2.2.2 Storage集羣

Storage集羣採用了分組存儲方式。storage集羣由一個或多個組構成,集羣存儲總容量爲集羣中所有組的存儲容量之和。一個組由一臺或多臺存儲服務器組成,組內的Storage server之間是平等關係,不同組的Storage server之間不會相互通信,同組內的Storage server之間會相互連接進行文件同步,從而保證同組內每個storage上的文件完全一致的。一個組的存儲容量爲該組內存儲服務器容量最小的那個,由此可見組內存儲服務器的軟硬件配置最好是一致的。

採用分組存儲方式的好處是靈活、可控性較強。比如上傳文件時,可以由客戶端直接指定上傳到的組也可以由tracker進行調度選擇。一個分組的存儲服務器訪問壓力較大時,可以在該組增加存儲服務器來擴充服務能力(縱向擴容)。當系統容量不足時,可以增加組來擴充存儲容量(橫向擴容)。

 

2.2.3 Storage狀態收集

Storage server會連接集羣中所有的Tracker server定時向他們報告自己的狀態,包括磁盤剩餘空間、文件同步狀況、文件上傳下載次數等統計信息。

2.2.4 文件上傳流程

 

 

 

客戶端上傳文件後存儲服務器將文件ID(file_id)返回給客戶端,此文件ID用於以後訪問該文件的索引信息。文件索引信息包括:組名,虛擬磁盤路徑,數據兩級目錄,文件名

 

 組名:文件上傳後所在的storage組名稱,在文件上傳成功後由storage服務器返回,需要客戶端自行保存。

 虛擬磁盤路徑storage配置的虛擬路徑,與磁盤選項store_path*對應。如果配置了store_path0則是M00,如果配置了store_path1則是M01,以此類推。

 數據兩級目錄:storage服務器在每個虛擬磁盤路徑下創建的兩級目錄,用於存儲數據文件。

 文件名:與文件上傳時不同。是由存儲服務器根據特定信息生成,文件名包含:源存儲服務器IP地址、文件創建時間戳、文件大小、隨機數和文件拓展名等信息。

2.2.5 文件下載流程

 

 

tracker根據請求的文件路徑即文件ID來快速定義文件。

比如請求下邊的文件:

 

1.通過組名tracker能夠很快的定位到客戶端需要訪問的存儲服務器組是group1,並選擇合適的存儲服務器提供客戶端訪問。  

2.存儲服務器根據“文件存儲虛擬磁盤路徑”和“數據文件兩級目錄”可以很快定位到文件所在目錄,並根據文件名找到客戶端需要訪問的文件。

FastDFS+Nginx實現文件服務器

3.1 架構

 

3.1.1 架構圖

 

3.1.2 架構描述

出於高可用的需求trackerstorage都使用兩臺服務器,storage使用兩個組用以說明storage可以任意擴充組實現線性擴展。

3.1.2.1 client

client請求tracker進行文件上傳、下載、刪除

client可以通過java client API方式進行文件上傳、下載、刪除。

client可以通過http方式進行文件下載。tracker通過nginx提供http下載接口。

client也可以直接訪問storage進行文件上傳、下載、刪除,但建議client通過tracker進行文件上傳、下載、刪除。

3.1.2.2 Tracker Server

   每個tracker server互相平等,tracker server上部署nginx是爲了對外提供http文件下載接口,trackernginx只是起到負載均衡的作用。trackernginx會代理轉發至storage上的nginx

         tracker上的兩個nginx可以採用主備方式實現高可用。nginx高可用參數nginx文檔。 

3.1.2.3 Storage Server

   每storage上也部署nginxstorage上的nginxtracker上的nginx有區別,storage上的nginx需要安裝FastDSF-nginx模塊,此模塊的作用是使用FastDFSnginx進行整合,nginx對外提供http文件下載接口,注意:nginx只提供文件下載接口不提供上傳接口。文件上傳仍然通過java client API進行。 

3.2 FastDFS--tracker安裝

分別在192.168.101.3192.168.101.4上安裝tracker

注:初次安裝可只安裝一臺tracker方便調試。


3.2.1 下載

trackerstorage使用相同的安裝包,下載地址:http://sourceforge.net/projects/FastDFS/ https://github.com/happyfish100/FastDFS(推薦)

本教程下載:FastDFS_v5.05.tar.gz

3.2.2 FastDFS安裝環境

        FastDFSC語言開發,建議在linux上運行,本教程使用Centos6.5作爲安裝環境。

安裝FastDFS需要先將官網下載的源碼進行編譯,編譯依賴gcc環境,如果沒有gcc環境,需要安裝gccyum install gcc-c++

3.2.3 .安裝libevent

FastDFS依賴libevent庫,需要安裝:

yum -y install libevent

3.2.4 安裝libfastcommon

libfastcommonFastDFS官方提供的,libfastcommon包含了FastDFS運行所需要的一些基礎庫。

將libfastcommonV1.0.7.tar.gz拷貝至/usr/local/

cd /usr/local

tar -zxvf libfastcommonV1.0.7.tar.gz

cd libfastcommon-1.0.7

./make.sh

./make.sh install

注意:libfastcommon安裝好後會自動將文件拷貝至/usr/lib64下,由於FastDFS程序引用usr/lib目錄所以需要將/usr/lib64下的庫文件拷貝至/usr/lib下。

要拷貝的文件如下:

件如下:

3.2.5 tracker編譯安裝

將FastDFS_v5.05.tar.gz拷貝至/usr/local/

tar -zxvf FastDFS_v5.05.tar.gz

cd FastDFS 

./make.sh

./make.sh install

安裝成功將安裝目錄下的conf下的文件拷貝到/etc/fdfs/下。


3.2.6 配置

安裝成功後進入/etc/fdfs目錄:

拷貝一份新的tracker配置文件:

cp tracker.conf.sample tracker.conf

修改tracker.conf

vi tracker.conf

base_path=/home/yuqing/FastDFS   

改爲:

base_path=/home/FastDFS

配置http端口:

http.server_port=80

3.2.7 啓動

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart

啓動的日誌顯示先停止5619進程(實際環境不是5619)再啓動,如下圖:

 

注意:如果沒有顯示上圖要注意是否正常停止原有進程。

3.3 FastDFS--storage安裝

分別在192.168.101.5192.168.101.6192.168.101.7192.168.101.8上安裝storage 

注:初次安裝可只安裝一臺storage方便調試。 

3.3.1 安裝libevent

tracker安裝

3.3.2 安裝libfastcommon

tracker安裝。

3.3.3 storage編譯安裝

tracker編譯安裝。

3.3.4 配置

安裝成功後進入/etc/fdfs目錄:

貝一份新的storage配置文件:

cp storage.conf.sample storage.conf

storage.conf

vi storage.conf

group_name=group1

base_path=/home/yuqing/FastDFS改爲:base_path=/home/FastDFS

store_path0=/home/yuqing/FastDFS改爲:store_path0=/home/FastDFS/fdfs_storage

#如果有多個掛載磁盤則定義多個store_path,如下

#store_path1=.....

#store_path2=......
tracker_server=192.168.101.3:22122   #配置tracker服務器:IP

#如果有多個則配置多個tracker

tracker_server=192.168.101.4:22122

#配置http端口

http.server_port=80

3.3.5 啓動


/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart

啓動的日誌顯示先停止8931進程(實際環境不是8931再啓動,如下圖:

 

注意:如果沒有顯示上圖要注意是否正常停止原有進程。

3.4 上傳圖片測試

3.4.1 通過fdfs_test程序

FastDFS安裝成功可通過/usr/bin/fdfs_test測試上傳、下載等操作。 

修改/etc/fdfs/client.conf

base_path=/home/fastdfs

tracker_server=192.168.101.3:22122

tracker_server=192.168.101.4:22122 

使用格式:

/usr/bin/fdfs_test 客戶端配置文件地址  upload  上傳文件

比如將/home下的圖片上傳到FastDFS中:

/usr/bin/fdfs_test /etc/fdfs/client.conf upload /home/tomcat.png

 打印如下日誌:

This is FastDFS client test program v5.05

 

Copyright (C) 2008, Happy Fish / YuQing

 

FastDFS may be copied only under the terms of the GNU General

Public License V3, which may be found in the FastDFS source kit.

Please visit the FastDFS Home Page http://www.csource.org/

for more detail.

 

[2015-05-18 02:07:10] DEBUG - base_path=/home/FastDFS, connect_timeout=30, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=0, g_connection_pool_max_idle_time=3600s, use_storage_id=0, storage server id count: 0

 

tracker_query_storage_store_list_without_group:

server 1. group_name=, ip_addr=192.168.101.5, port=23000

server 2. group_name=, ip_addr=192.168.101.6, port=23000

 

group_name=group1, ip_addr=192.168.101.5, port=23000

storage_upload_by_filename

group_name=group1, remote_filename=M00/00/00/wKhlBVVY2M-AM_9DAAAT7-0xdqM485.png

source ip address: 192.168.101.5

file timestamp=2015-05-18 02:07:11

file size=5103

file crc32=3979441827

example file url: http://192.168.101.5/group1/M00/00/00/wKhlBVVY2M-AM_9DAAAT7-0xdqM485.png

storage_upload_slave_by_filename

group_name=group1, remote_filename=M00/00/00/wKhlBVVY2M-AM_9DAAAT7-0xdqM485_big.png

source ip address: 192.168.101.5

file timestamp=2015-05-18 02:07:11

file size=5103

file crc32=3979441827

example file url: http://192.168.101.5/group1/M00/00/00/wKhlBVVY2M-AM_9DAAAT7-0xdqM485_big.png

 

http://192.168.101.5/group1/M00/00/00/wKhlBVVY2M-AM_9DAAAT7-0xdqM485_big.png就是文件的下載路徑。

對應storage服務器上的

/home/fastdfs/fdfs_storage/data/00/00/wKhlBVVY2M-AM_9DAAAT7-0xdqM485_big.png文件。

由於現在還沒有和nginx整合無法使用http下載。

3.4.2 通過java Client API

完整的測試方法參考測試源代碼。

public class FastdfsClientTest {

//客戶端配置文件

public Stringconf_filename ="F:\\workspace_indigo\\fastdfsClient\\src\\cn\\itcast\\fastdfs\\cliennt\\fdfs_client.conf";

    //本地文件,要上傳的文件

public Stringlocal_filename ="F:\\develop\\upload\\linshiyaopinxinxi_20140423193847.xlsx";

//上傳文件

    @Test 

    public void testUpload() {   

     for(int i=0;i<100;i++){

        try {

            ClientGlobal.init(conf_filename);

            TrackerClient tracker = new TrackerClient();

            TrackerServer trackerServer = tracker.getConnection();

            StorageServer storageServer = null;

            StorageClient storageClient = new StorageClient(trackerServer,

                    storageServer);

            NameValuePair nvp [] = new NameValuePair[]{

                    new NameValuePair("item_id","100010"),

                    new NameValuePair("width","80"),

                    new NameValuePair("height","90")

            };

            String fileIds[] = storageClient.upload_file(local_filename,null,

                    nvp);

            System.out.println(fileIds.length);

            System.out.println("組名:" + fileIds[0]);

            System.out.println("路徑: " + fileIds[1]);

        } catch (FileNotFoundException e) {

            e.printStackTrace();

        } catch (IOException e) {

            e.printStackTrace();

        } catch (Exception e) {

e.printStackTrace();

}

     }

    } 

3.5 FastDFS nginx整合

3.5.1 tracker上安裝nginx

nginx的安裝細節參考nginx文檔。

一個tracker對應多個storage,通過nginxstorage負載均衡。 

在每個tracker上安裝nginx,兩個nginx爲主備高可用。

創建nginx-fdfs.conf配置文件:

#storagegroup1

upstream storage_server_group1{

     server 192.168.101.5:80 weight=10;

server 192.168.101.6:80 weight=10;

    }

    #storagegroup2

upstream storage_server_group2{

     server 192.168.101.7:80 weight=10;

server 192.168.101.8:80 weight=10;

    }

   server {

listen 80;

server_name ccc.test.com;

location /group1{

proxy_redirect off;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_pass http://storage_server_group1;

}

location /group2{

proxy_redirect off;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_pass http://storage_server_group2;

}}

 3.5.2 Storage上安裝nginx

3.5.2.1 FastDFS-nginx-module

將FastDFS-nginx-module_v1.16.tar.gz傳至/usr/local/

cd /usr/local

tar -zxvf FastDFS-nginx-module_v1.16.tar.gz

cd FastDFS-nginx-module/src

修改config文件將/usr/local/路徑改爲/usr/

 

 

將FastDFS-nginx-module/src下的mod_FastDFS.conf拷貝至/etc/fdfs/

cp mod_FastDFS.conf /etc/fdfs/

並修改mod_FastDFS.conf的內容:

vi /etc/fdfs/mod_FastDFS.conf

base_path=/home/FastDFS

tracker_server=192.168.101.3:22122

tracker_server=192.168.101.4:22122

url_have_group_name=true #url中包含group名稱

store_path0=/home/FastDFS/fdfs_storage   #指定文件存儲路徑

#如果有多個

將libfdfsclient.so拷貝至/usr/lib

cp /usr/lib64/libfdfsclient.so /usr/lib/

創建nginx/client目錄

mkdir -p /var/temp/nginx/client

3.5.2.2 nginx安裝

 添加FastDFS-nginx-module模塊

./configure \

--prefix=/usr/local/nginx \

--pid-path=/var/run/nginx/nginx.pid \

--lock-path=/var/lock/nginx.lock \

--error-log-path=/var/log/nginx/error.log \

--http-log-path=/var/log/nginx/access.log \

--with-http_gzip_static_module \

--http-client-body-temp-path=/var/temp/nginx/client \

--http-proxy-temp-path=/var/temp/nginx/proxy \

--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \

--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \

--http-scgi-temp-path=/var/temp/nginx/scgi \

--add-module=/usr/local/fastdfs-nginx-module/src

 

make

make install

3.5.2.3 nginx配置文件

新建一個nginx配置文件nginx-fdfs.conf. 

 添加server:

 server {

        listen       80;

        server_name  192.168.101.7;

 

        location /group1/M00/{

                root /home/fastdfs/fdfs_storage/data;

                ngx_fastdfs_module;

        }

}

說明:

server_name指定本機ip

location /group1/M00/:group1nginx服務FastDFS的分組名稱,M00FastDFS自動生成編號,對應store_path0=/home/FastDFS/fdfs_storage,如果FastDFS定義store_path1,這裏就是M01

3.5.3 測試

通過java客戶端上傳文件,使用瀏覽器訪問,比如訪問上傳圖片測試的文件:

訪問storage

http://192.168.101.5/group1/M00/00/00/wKhlBVVY2M-AM_9DAAAT7-0xdqM485_big.png

ip地址改爲192.168.101.6也行,因爲同一個分組的storage文件互相同步。

訪問tracker

http://192.168.101.3/group1/M00/00/00/wKhlBVVY2M-AM_9DAAAT7-0xdqM485_big.png

ip地址改爲192.168.101.4也行。 

使用域名訪問tracker (推薦)

兩個trackernginx爲主備,對外由vip提供服務,使用域名訪問如下:

比如vip對應的域名爲img.test.com

http://img.test.com/group1/M00/00/00/wKhlBVVY2M-AM_9DAAAT7-0xdqM485_big.png

附錄

4.1 tracker.conf

1 基本配置

disable

#func:配置是否生效

#valutruefalse

disable=false

bind_addr

#func:綁定IP

#valuIP地址

bind_addr=192.168.6.102

port

#func:服務端口

#valu:端口整數值

port=22122

connect_timeout

#func:連接超時

#valu:秒單位正整數值

connect_timeout=30

network_timeout

#func:網絡超時

#valu:秒單位正整數值

network_timeout=60

base_path

#funcTracker數據/日誌目錄地址

#valu:路徑

base_path=/home/michael/fdfs/base4tracker

max_connections

#func:最大連接數

#valu:正整數值

max_connections=256

work_threads

#func:線程數,通常設置CPU

#valu:正整數值

work_threads=4

store_lookup

#func:上傳文件的選組方式。

#valu012

# 0:表示輪詢

# 1:表示指定組

# 2:表示存儲負載均衡(選擇剩餘空間最大的組)

store_lookup=2

store_group

#func:指定上傳的組,如果在應用層指定了具體的組,那麼這個參數將不會起效。另外如果store_lookup如果是02,則此參數無效。

#valugroup1

store_group=group1

store_server

#func:上傳服務器的選擇方式。(一個文件被上傳後,這個storage server就相當於這個文件的storage server源,會對同組的storage server推送這個文件達到同步效果)

#valu012

# 0: 輪詢方式(默認)

# 1: 根據ip地址進行排序選擇第一個服務器(IP地址最小者)

# 2: 根據優先級進行排序(上傳優先級由storage server來設置,參數名爲upload_priority),優先級值越小優先級越高。

store_server=0

store_path

#func:上傳路徑的選擇方式。storage server可以有多個存放文件的base path(可以理解爲多個磁盤)。

#valu

# 0: 輪流方式,多個目錄依次存放文件

# 2: 存儲負載均衡。選擇剩餘空間最大的目錄存放文件(注意:剩餘磁盤空間是動態的,因此存儲到的目錄或磁盤可能也是變化的)

store_path=0

download_server

#func:下載服務器的選擇方式。

#valu

# 0:輪詢(默認)

# 1IP最小者

# 2:優先級排序(值最小的,優先級最高。)

download_server=0

reserved_storage_space

#func:保留空間值。如果某個組中的某個服務器的剩餘自由空間小於設定值,則文件不會被上傳到這個組。

#valu

# G or g for gigabyte

# M or m for megabyte

# K or k for kilobyte

reserved_storage_space=1GB

log_level

#func:日誌級別

#valu

# emerg for emergency

# alert

# crit for critical

# error

# warn for warning

# notice

# info for information

# debug for debugging

log_level=info

run_by_group / run_by_user

#func:指定運行該程序的用戶組

#valu:用戶組名或空

run_by_group=

 

#func

#valu

run_by_user=

allow_hosts

#func:可以連接到tracker serverip範圍。可設定多個值。

#valu

allow_hosts=

check_active_interval

#func:檢測 storage server存活的時間隔,單位爲秒。

#      storage server定期向tracker server發心跳,

#      如果tracker server在一個check_active_interval內還沒有收到storage server的一次心跳,

#      那邊將認爲該storage server已經下線。所以本參數值必須大於storage server配置的心跳時間間隔。

#      通常配置爲storage server心跳時間間隔的2倍或3倍。

check_active_interval=120

thread_stack_size

#func:設定線程棧的大小。 線程棧越大,一個線程佔用的系統資源就越多。

#      如果要啓動更多的線程(V1.x對應的參數爲max_connectionsV2.0work_threads),可以適當降低本參數值。

#valu:如64KB,默認值爲64tracker server線程棧不應小於64KB

thread_stack_size=64KB

storage_ip_changed_auto_adjust

#func:這個參數控制當storage server IP地址改變時,集羣是否自動調整。注:只有在storage server進程重啓時才完成自動調整。

#valutruefalse

storage_ip_changed_auto_adjust=true

2 同步

storage_sync_file_max_delay

#func:同組storage服務器之間同步的最大延遲時間。存儲服務器之間同步文件的最大延遲時間,根據實際情況進行調整

#valu:秒爲單位,默認值爲1天(24*3600

#sincv2.0

storage_sync_file_max_delay=86400

storage_sync_file_max_time

#func:存儲服務器同步一個文件需要消耗的最大時間,缺省爲300s,即5分鐘。

#sincv2.0

storage_sync_file_max_time=300

sync_log_buff_interval

#func:同步或刷新日誌信息到硬盤的時間間隔。注意:tracker server的日誌不是時時寫硬盤的,而是先寫內存。

#valu:以秒爲單位

sync_log_buff_interval=10

3 trunk slot

#func:是否使用trunk文件來存儲幾個小文件

#valutruefalse

#sincv3.0

use_trunk_file=false

 

#func:最小slot大小

#valu<= 4KB,默認爲256字節

#sincv3.0

slot_min_size=256

 

#func:最大slot大小

#valu>= slot_min_size,當小於這個值的時候就存儲到trunk file中。默認爲16MB

#sincv3.0

slot_max_size=16MB

 

#functrunk filesize

#valu>= 4MB,默認爲64MB

#sincv3.0

trunk_file_size=64MB

4 HTTP 相關

是否啓用 HTTP

#funcHTTP是否生效

#valutruefalse

http.disabled=false

HTTP 服務器端口號

#functracker server上的http port

#valu

#note:只有http.disabled=false時才生效

http.server_port=7271

檢查Storage存活狀態的間隔時間(心跳檢測)

#func:檢查storage http server存活的間隔時間

#valu:單位爲秒

#note:只有http.disabled=false時才生效

http.check_alive_interval=30

心跳檢測使用的協議方式

#func:檢查storage http server存活的方式

#valu

# tcp:連接到storage serverhttp端口,不進行requestresponse

# httpstorage check alive url must return http status 200.

#note:只有http.disabled=false時才生效

http.check_alive_type=tcp

檢查 Storage 狀態的URI

#func:檢查storage http server是否aliveuri/url

#note:只有http.disabled=false時才生效

http.check_alive_uri=/status.html

發佈了31 篇原創文章 · 獲贊 13 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章