夜晚10大禁用B站免费_欧美国产日韩久久MV_深夜福利小视频在线观看_人妻精品久久无码区 国产在线高清精品二区_亚洲日本一区二区一本一道_国产在线视频主播区_AV无码精品一区二区三区

免費(fèi)注冊

Caddy核心架構(gòu)(1)

作者: 速優(yōu)云解決方案架構(gòu)師
閱讀數(shù):153
更新時間:2024-02-23 20:34:49
Caddy核心架構(gòu)(1)
p>core庫,即Caddy的“核心”,主要管理配置。它可以Run()一個新的配置或Stop()一個正在運(yùn)行的配置。它還提供了供模塊使用的各種實(shí)用程序、類型和值。

模塊做其他的事情。許多模塊內(nèi)建在Caddy,這被稱為標(biāo)準(zhǔn)模塊。它們被認(rèn)為是對大多數(shù)用戶最有用的。

在其核心,Caddy僅僅加載一個初始配置(“config”),或者,如果沒有初始配置,打開一個套接字來接受新的配置。

Caddy的核心知道如何使用這些領(lǐng)域:

admin,它可以設(shè)置管理API和管理過程
日志以便它可以發(fā)出日志
但其他頂級領(lǐng)域(如應(yīng)用程序)對Caddy的核心是不透明的。事實(shí)上,所有Caddy知道如何處理應(yīng)用中的字節(jié)是將它們反序列化成一個接口類型,它可以調(diào)用兩個方法:

Start ()
Stop ()
…就是這樣。當(dāng)配置加載時,它會在每個應(yīng)用程序上調(diào)用Start(),當(dāng)配置卸載時,它會在每個應(yīng)用程序上調(diào)用Stop()。

當(dāng)一個應(yīng)用模塊啟動時,它會啟動應(yīng)用的模塊生命周期。

如果你是一個構(gòu)建Caddy模塊的程序員,你可以在我們的擴(kuò)展Caddy指南中找到類似的信息,但是更多的關(guān)注于代碼。


有兩種模塊:主機(jī)模塊和客戶模塊。

宿主模塊(或“父”模塊)是那些加載其他模塊的模塊。

來賓模塊(或“子”模塊)是那些被加載的模塊。所有模塊都是來賓模塊——甚至是應(yīng)用模塊。

模塊被加載,被準(zhǔn)備和驗(yàn)證,被使用,然后被清理,按照以下順序:

加載
配置和驗(yàn)證
使用
清理
Caddy啟動模塊生命周期時,配置首先被加載,初始化所有配置的應(yīng)用模塊。從這里開始,每一個應(yīng)用模塊都要走完剩下的路。

加載階段?
加載模塊涉及到將其JSON字節(jié)反序列化為內(nèi)存中的類型化值。這是……基本上就是這樣。它只是將JSON解碼為一個值。

提供階段?
這個階段是大多數(shù)設(shè)置工作進(jìn)行的階段。模塊在加載后有機(jī)會自行準(zhǔn)備。

由于JSON編碼中的任何屬性都已經(jīng)被解碼,因此這里只需要進(jìn)行額外的設(shè)置。配置期間最常見的任務(wù)是設(shè)置客戶模塊。換句話說,配置一個主機(jī)模塊也會導(dǎo)致配置它的客戶模塊,一直到最后。

您可以通過遍歷我們文檔中的Caddy的JSON結(jié)構(gòu)來對此有所了解。任何你看到{•••}的地方都可以使用來賓模塊;當(dāng)你點(diǎn)擊其中一個,你可以繼續(xù)探索,直到?jīng)]有更多的來賓模塊。

其他常見的配置任務(wù)包括設(shè)置將在模塊生命周期內(nèi)使用的內(nèi)部值,或標(biāo)準(zhǔn)化輸入。例如,http.matchers。remote_ip模塊使用準(zhǔn)備階段從JSON接收到的字符串輸入中解析CIDR值。這樣,它就不必在每個HTTP請求期間都執(zhí)行此操作,因此效率更高。

驗(yàn)證也可以在準(zhǔn)備階段進(jìn)行。如果一個模塊的配置無效,會返回一個錯誤,從而終止整個配置加載過程。

使用階段?
一旦客戶模塊被供應(yīng)和驗(yàn)證,它就可以被它的主機(jī)模塊使用。這到底意味著什么取決于每個主模塊。

每個模塊都有一個ID,該ID由一個名稱空間和該名稱空間中的一個名稱組成。例如,http.handlers。reverse_proxy是一個HTTP處理程序,因?yàn)樗贖TTP。處理程序名稱空間,它的名稱是reverse_proxy。http中的所有模塊。處理程序名稱空間滿足主機(jī)模塊已知的相同接口。因此,http應(yīng)用程序知道如何加載和使用這些類型的模塊。

清理階段?
當(dāng)需要停止配置時,所有模塊都會被卸載。如果一個模塊分配了任何應(yīng)該釋放的資源,它就有機(jī)會在清理階段這樣做。

發(fā)表評論

評論列表

暫時沒有評論,有什么想聊的?

低代碼協(xié)同辦公系統(tǒng)定制

低代碼協(xié)同辦公系統(tǒng)定制

釋放創(chuàng)造力,簡化辦公。低代碼定制OA協(xié)同系統(tǒng),高效協(xié)同助您一展宏圖。



熱推產(chǎn)品-全域低代碼平臺

會Excel就能開發(fā)軟件

全域低代碼平臺,可視化拖拉拽/導(dǎo)入Excel,就可以開發(fā)小程序、管理系統(tǒng)、物聯(lián)網(wǎng)、ERP、CRM等應(yīng)用

Caddy核心架構(gòu)(1)最新資訊

分享關(guān)于大數(shù)據(jù)最新動態(tài),數(shù)據(jù)分析模板分享,如何使用低代碼構(gòu)建大數(shù)據(jù)管理平臺和低代碼平臺開發(fā)軟件

大模型匯總是什么?如何全面了解其核心與應(yīng)用?

一、概述“大模型匯總是什么?如何全面了解其核心與應(yīng)用?” 1.1 什么是大模型匯總? 1.1.1 大模型的基本定義 近年來,隨著人工智能技術(shù)的迅猛發(fā)展,“大模型”已成為行業(yè)

...
2025-04-15 17:49:31
ai的大模型是什么?全面解析與核心價值

一、概述:全面解析AI大模型 人工智能(AI)大模型正成為推動全球科技變革的重要力量之一。隨著計(jì)算能力的飛速提升以及海量數(shù)據(jù)資源的積累,AI大模型以其卓越的數(shù)據(jù)處理能

...
2025-04-15 17:49:31
使用大模型是否能有效提升業(yè)務(wù)效率?

一、概述:使用大模型是否能有效提升業(yè)務(wù)效率? 隨著人工智能技術(shù)的飛速發(fā)展,大模型(Large Language Models, LLMs)逐漸成為推動企業(yè)創(chuàng)新和效率提升的重要工具。大模型通

...
2025-04-15 17:49:31
×
銷售: 17190186096
售前: 15050465281
合作伙伴,請點(diǎn)擊

微信聊 -->

速優(yōu)AIPerfCloud官方微信