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