卸載分配處理任務量為拓撲中的Experience Manager實例。 透過卸載,您可以使用特定Experience Manager例項來執行特定類型的處理。 專門處理可讓您最大限度地利用可用的伺服器資源。
卸載以 Apache Sling Discovery 和Sling JobManager功能。 要使用卸載,請將Experience Manager群集添加到拓撲,並標識群集處理的作業主題。 叢集由一或多個Experience Manager例項組成,因此將單一例項視為叢集。
有關將實例添加到拓撲的資訊,請參見 管理拓撲.
Sling JobManager和JobConsumer可建立拓撲中處理的作業:
JobManager建立作業時,卸載框架將在拓撲中選擇一個Experience Manager群集以執行該作業:
請參閱 設定主題耗用量 以了解如何精簡工作分配。
當Offloading框架選擇群集以執行作業,且群集由多個實例組成時,Sling Distribution將確定群集中的哪個實例執行該作業。
卸載框架支援將作業與儲存庫中的資源關聯的作業裝載。 為處理資源建立作業,並將該作業卸載到另一台電腦時,作業裝載非常有用。
建立工作時,裝載只保證位於建立工作的執行個體上。 卸載作業時,複製代理確保在最終取用該作業的執行個體上建立裝載。 作業執行完成時,反向復寫會將裝載複製回建立作業的執行個體。
拓撲是鬆散耦合的Experience Manager群集,它們參與卸載。 群集由一個或多個Experience Manager伺服器實例(單個實例被視為群集)組成。
每個Experience Manager執行個體會執行下列卸載相關服務:
拓撲的所有成員的發現服務指向其中一個成員的拓撲連接器。 在以下各節中,此成員稱為根成員。
拓撲中的每個群集都包含一個被識別為領導者的實例。 群集領導者代表群集的其他成員與拓撲交互。 當領導者離開群集時,將自動選擇群集的新領導者。
使用拓撲瀏覽器來探索Experience Manager實例所參與的拓撲的狀態。 拓撲瀏覽器顯示拓撲的群集和實例。
對於每個群集,您會看到一個群整合員清單,該清單指示每個成員加入群集的順序,以及哪個成員是領導者。 「當前」屬性指示當前管理的實例。
對於群集中的每個實例,您可以看到幾個與拓撲相關的屬性:
使用觸控式UI,按一下「工具」標籤。 (http://localhost:4502/tools.html)
在「Granite操作」區域中,按一下「卸載瀏覽器」。
在導航面板中,按一下拓撲瀏覽器。
將顯示參與拓撲的群集。
按一下群集以查看群集中實例的清單及其ID、當前狀態和領導狀態。
按一下執行個體ID以查看更詳細的屬性。
您也可以使用Web控制台查看拓撲資訊。 控制台提供有關拓撲群集的進一步資訊:
使用以下過程開啟Web控制台的「拓撲管理」頁:
在瀏覽器中開啟Web主控台。 (http://localhost:4502/system/console)
按一下「主」>「拓撲管理」。
Apache Sling Resource-Based Discovery Service在每個執行個體上執行,以控制Experience Manager執行個體與拓撲互動的方式。
發現服務向拓撲連接器服務發送定期POST請求(心率),以建立和維護與拓撲的連接。 拓撲連接器服務維護允許加入拓撲的IP地址或主機名的允許清單:
使用Web主控台或sling:OsgiConfig節點來設定org.apache.sling.discovery.impt.Config服務的下列屬性:
屬性名稱 | OSGi名稱 | 說明 | 預設值 |
---|---|---|---|
心率逾時(秒) | heartbeatTimeout | 在目標執行個體被視為無法使用之前,等候心率回應的秒數。 | 20 |
心率間隔(秒) | heartbeatInterval | 心率之間的秒數。 | 15 |
最小事件延遲(秒) | minEventDelay | 當拓撲發生更改時,將狀態從TOPOLOGY_CHANGED延遲到TOPOLOGY_CHANGED的時間。 當狀態為TOPOLOGY_CHANGENG時,每發生一次更改都會將延遲增加此時間量。 這種延遲可防止聽眾被事件淹沒。 要不使用延遲,請指定0或負數。 |
3 |
拓撲連接器URL | topologyConnectorUrl | 用於發送心率消息的拓撲連接器服務的URL。 | http://localhost:4502/libs/sling/topology/connector |
拓撲連接器允許清單 | topologyConnectorWhitelist | 本地拓撲連接器服務允許的IP地址或主機名清單。 | localhost 127.0.0.1 |
儲存庫描述符名稱 | leaderElectionRepositoryDescriptor | <無值> |
使用以下過程將CQ實例連接到拓撲的根成員。 該過程將實例指向根拓撲成員的拓撲連接器URL。 對拓撲的所有成員執行此過程。
對拓撲的根成員執行以下過程。 該過程將其他拓撲成員的名稱添加到其發現服務允許清單中。
使用卸載瀏覽器為拓撲中的Experience Manager實例配置主題消耗。 對於每個例項,您可以指定它所取用的主題。 例如,要配置拓撲,以便只有一個實例使用特定類型的主題,請禁用除一個實例之外的所有實例上的主題。
作業是使用循環邏輯啟用相關主題的已分配數量例項。
使用觸控式UI,按一下「工具」標籤。 (http://localhost:4502/tools.html)
在「Granite操作」區域中,按一下「卸載瀏覽器」。
在導覽面板中,按一下卸載瀏覽器。
會出現卸載主題和可以使用主題的伺服器實例。
若要停用例項主題的耗用,請按一下執行個體旁的topc名稱下方的「停用」 。
若要設定執行個體的所有主題使用,請按一下任何主題下方的執行個體識別碼。
按一下主題旁的以下按鈕之一以配置實例的消耗行為,然後按一下「保存」:
注意: 為主題選擇「獨佔」時,所有其他主題將自動設定為「禁用」。
安裝了多個JobConsumer實施,並附帶Experience Manager。 註冊這些JobCondusers的主題顯示在卸載瀏覽器中。 顯示的其他主題是自訂JobCondusers已註冊的主題。 下表介紹了預設的JobCondusers。
作業主題 | 服務PID | 說明 |
---|---|---|
/ | org.apache.sling.event.impl.jobs.deprecated.EventAdminBridge | 與Apache Sling一起安裝。 處理OSGi事件管理員為了回溯相容而產生的作業。 |
com/day/cq/replication/job/* | com.day.cq.replication.impl.AgentManagerImpl | 復製作業負載的複製代理。 |
com/adobe/granite/workflow/offloading | com.adobe.granite.workflow.core.offloading.WorkflowOffloadingJobConsumer | 處理DAM更新資產卸載程式工作流程產生的作業。 |
Apache Sling Job Consumer Manager服務提供主題允許清單和封鎖清單屬性。 設定這些屬性以啟用或停用處理Experience Manager例項上的特定主題。
注意: 如果實例屬於某個拓撲,則還可以在拓撲中的任何電腦上使用卸載瀏覽器來啟用或禁用主題。
建立啟用主題清單的邏輯首先允許允許清單中的所有主題,然後刪除塊清單上的主題。預設情況下,所有主題都啟用(允許清單值為 *
)且未停用任何主題(封鎖清單沒有值)。
使用Web主控台或 sling:OsgiConfig
節點來設定下列屬性。 針對 sling:OsgiConfig
節點,則Job Consumer Manager服務的PID為org.apache.sling.event.impl.jobs.JobConsumerManager。
Web主控台中的屬性名稱 | OSGi ID | 說明 |
---|---|---|
主題白名單 | job.consumermanager.whitelist | 本地JobManager服務處理的主題清單。 預設值為*會將所有主題發送到註冊的TopicConsumer服務。 |
主題黑名單 | job.consumermanager.blacklist | 本地JobManager服務不處理的主題清單。 |
卸載框架使用複製在作者和工作者之間傳輸資源。 卸載框架會在實例加入拓撲時自動建立複製代理。 代理將使用預設值建立。 您必須手動更改代理用於驗證的密碼。
自動生成的複製代理的已知問題要求您手動建立新的複製代理。 依照 使用自動生成的複製代理時出現問題 建立卸載代理之前。
建立複製代理,用於在執行個體之間傳輸作業裝載以供卸載。 下圖顯示從作者卸載至背景執行個體所需的代理。 製作者的Sling ID為1,工作執行個體的Sling ID為2:
此設定需要下列三個代理:
此復寫配置類似於製作與發佈執行個體之間使用的配置。 不過,針對卸載情況,所有相關例項都是製作例項。
卸載框架使用拓撲獲取卸載實例的IP地址。 然後,框架會根據這些IP地址自動建立複製代理。 如果卸載實例的IP地址稍後更改,則在實例重新啟動後,該更改將自動在拓撲上進行提示。 但是,卸載框架不會自動更新複製代理以反映新的IP地址。 要避免這種情況,請對拓撲中的所有實例使用固定的IP地址。
對 名稱 複製代理的屬性,以便卸載框架自動為特定工作實例使用正確的代理。
在製作執行個體上命名傳出代理:
offloading_<slingid>
,其中 <slingid>
是worker執行個體的Sling ID。
範例: offloading_f5c8494a-4220-49b8-b079-360a72f71559
在製作例項上命名反向代理:
offloading_reverse_<slingid>
,其中 <slingid>
是worker執行個體的Sling ID。
範例: offloading_reverse_f5c8494a-4220-49b8-b079-360a72f71559
在工作執行個體上命名發件箱:
offloading_outbox
建立 復寫代理 在作者上。 (請參閱 複製代理的文檔)。 指定任何 標題. 此 名稱 必須遵循命名慣例。
使用下列屬性建立代理:
屬性 | 值 |
---|---|
設定>序列化類型 | 預設 |
傳輸>傳輸URI | https://<ip of target instance> :<port> /bin/receive?sling:authRequestLogin=1 |
傳輸>傳輸用戶 | 目標實例上的複製用戶 |
傳輸>傳輸密碼 | 目標實例上的複製用戶密碼 |
「延伸> HTTP方法」 | POST |
觸發器>忽略預設值 | True |
建立 反向複製代理 在作者上。 (請參閱 複製代理的文檔.) 指定任何 標題. 此 名稱 必須遵循命名慣例。
使用下列屬性建立代理:
屬性 | 值 |
---|---|
設定>序列化類型 | 預設 |
傳輸>傳輸URI | https://<ip of target instance> :<port> /bin/receive?sling:authRequestLogin=1 |
傳輸>傳輸用戶 | 目標實例上的複製用戶 |
傳輸>傳輸密碼 | 目標實例上的複製用戶密碼 |
「延伸> HTTP方法」 | GET |
建立 復寫代理 在工作實例上。 (請參閱 複製代理的文檔.) 指定任何 標題. 此 名稱 必須 offloading_outbox
.
使用下列屬性建立代理。
屬性 | 值 |
---|---|
設定>序列化類型 | 預設 |
傳輸>傳輸URI | repo://var/replication/outbox |
觸發器>忽略預設值 | True |
使用下列其中一種方法取得Experience Manager例項的Sling ID:
設定拓撲的例項,讓特定例項執行在DAM中新增或更新的資產的後台處理。
依預設,當DAM資產變更或新增一個至DAM時,Experience Manager會執行「DAM更新資產」工作流程。 變更預設行為,讓Experience Manager改為執行DAM更新資產卸載程式工作流程。 此工作流將生成一個JobManager作業,該作業的主題為 com/adobe/granite/workflow/offloading
. 然後,配置拓撲,以便將作業卸載到專用工作器。
搭配工作流程卸載使用時,不應使工作流程為暫時性。 例如,DAM更新資產工作流程在用於資產卸載時不得為暫時性。 若要在工作流程上設定/取消設定暫時標幟,請參閱 暫時性工作流程.
以下過程假定卸載拓撲的以下特性:
在每個Experience Manager實例上,配置發現服務,使其指向根拓撲連接器。 (請參閱 配置拓撲成員.)
配置根拓撲連接器,使連接實例位於允許清單中。
開啟卸載瀏覽器並停用 com/adobe/granite/workflow/offloading
使用者互動以上傳或變更DAM資產的例項主題。
在使用者互動以上傳或變更DAM資產的每個執行個體上,設定工作流程啟動器以使用DAM更新資產卸載工作流程:
在執行DAM資產背景處理的執行個體上,停用執行DAM更新資產工作流程的工作流程啟動器。
除了本頁顯示的詳細資訊外,您還可以閱讀以下內容: