c语言的vcl库函数下载,VCL手册 PDF
1.描述:
VCL語(yǔ)言是一種被設(shè)計(jì)用來(lái)為varnish來(lái)定義請(qǐng)求處理和文檔緩存策略的語(yǔ)言。
當(dāng)配置文件加載時(shí),varnishd會(huì)把VCL代碼轉(zhuǎn)換為C代碼,再將C語(yǔ)言編譯為共享對(duì)象,然后將它們動(dòng)態(tài)鏈接進(jìn)服務(wù)進(jìn)程。
2.VCL語(yǔ)法非常簡(jiǎn)單,類似于C和Perl。不同的代碼塊使用大括號(hào)分割,每個(gè)語(yǔ)句以分號(hào)結(jié)束,注釋的話則可以寫成C,C++,或Perl語(yǔ)言的形式。
2.1. 賦值運(yùn)算符是=,
2.2. 比較運(yùn)算符是==,!=,
2.3. 布爾運(yùn)算符是!,&&,||。
2.4. 同時(shí)VCL也支持正則表達(dá)式和ACL匹配操作符~,!~。
2.5. 字符串使用雙引號(hào)“...”,但不包括新行。
2.6. 要是想包含新行則需要在雙引號(hào)外面再加上大括號(hào),如{“...”}。
2.7.反斜杠\字符沒(méi)有任何的含義,可以隨意的使用
2.8. 多個(gè)字符串要連接在一起,使用加號(hào)+
賦值運(yùn)算符使用set關(guān)鍵字聲明。用戶不能自定義變量。被賦值的變量必須隸屬于后端服務(wù)器、請(qǐng)求或者文檔對(duì)象。
你可以使用set關(guān)鍵字來(lái)任意設(shè)置HTTP頭部信息。你也可以使用remove或unset關(guān)鍵字來(lái)刪除頭部信息。
你可以使用rollback關(guān)鍵字來(lái)恢復(fù)你任意時(shí)間對(duì)req所做的任意改變。
這synthetic關(guān)鍵字則被用來(lái)在vcl_error子程序中產(chǎn)生一個(gè)合并的相應(yīng)體。它以一個(gè)單一的字符串來(lái)作為參數(shù)。
你可以使用panic關(guān)鍵字來(lái)強(qiáng)制使client進(jìn)程崩潰。panic也是以一個(gè)字符串作為參數(shù)。
return(action)關(guān)鍵字用來(lái)結(jié)束子程序。其中,action可是:
deliver
error
fetch
hash
hit_for_pass
lookup
ok
pass
pipe
restart
其中的任何一個(gè)。
其他的VCL文件中的內(nèi)容,可以使用include關(guān)鍵字來(lái)包含進(jìn)來(lái)。
3. 后端服務(wù)器的聲明
3.1. 使用一個(gè)名為backend的對(duì)象來(lái)聲明后端服務(wù)器。例如:
backend www {
.host = "www.example.com";
.port = "http";
}
3.2. backend對(duì)象常被用來(lái)在請(qǐng)求發(fā)來(lái)時(shí),如何選擇后端服務(wù)器。例如:
if (req.http.host ~ "(?i)(www.)?example.com$") {
set req.backend = www;
}
3.3. 為了避免后臺(tái)服務(wù)器超載,.max_connections 參數(shù)可以用來(lái)限制并發(fā)連接的數(shù)量。
3.4. 一些超時(shí)的設(shè)置參數(shù)可以放在后端服務(wù)器的聲明中。超時(shí)參數(shù) .connect_timeout表示等待連接后端服務(wù)器的時(shí)間;.fist_byte_timeout表示等待來(lái)自后端服務(wù)器的首字節(jié)到達(dá)的時(shí)間;.between_bytes_timeout表示前一個(gè)字節(jié)到達(dá)后,等待下一個(gè)字節(jié)所用的時(shí)間。以上這些參數(shù)都可以設(shè)置在后端服務(wù)器的聲明之中,例如:
backend www {
.host = "www.example.com";
.port = "http";
.connect_timeout = 1s;
.first_byte_timeout = 5s;
.between_bytes_timeout = 2s;
}
當(dāng)所有的條目被添加到saintmode模式列表后,就會(huì)將后端服務(wù)器標(biāo)記為不可用。參數(shù) .saintmode_threshold 可以把saintmode列表設(shè)置為最大。如果設(shè)置為0,就表示對(duì)于那個(gè)后端服務(wù)器來(lái)說(shuō),就完全禁用了saint模式。如果在后端服務(wù)器的聲明中,設(shè)置了此參數(shù),那么就以聲明中的參數(shù)為準(zhǔn)。
4. Directors
一個(gè)director是為了冗余的目的(說(shuō)白了,就是實(shí)現(xiàn)高可用),將多個(gè)后端服務(wù)器聚合在一起而形成的一個(gè)邏輯組。和LVS中的director的含義差不多。
director分好幾種類型。不同的類型使用不同的算法來(lái)選擇使用哪臺(tái)后端服務(wù)器。
director的配置,可以按如下方式:
director b2 random {
.retries = 5;
{
// 直接引用之前聲明的backend對(duì)象的名稱,如b1。
.backend = b1;
.weight? = 7;
}
{
// 或者是直接在參數(shù) .backend后面聲明
.backend? = {
.host = "fs2";
}
.weight? ? ? ? = 3;
}
}
VCL手冊(cè) PDF 下載:
具體下載目錄在 /2014年資料/3月/11日/VCL手冊(cè) PDF
總結(jié)
以上是生活随笔為你收集整理的c语言的vcl库函数下载,VCL手册 PDF的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: MySQL将查询结果用英文逗号,连接
- 下一篇: varnish---vcl语法