作者與Publish架構概覽 author-and-publish-architectural-overview
本頁面主要說明下列主題:
- Publish伺服器簡介
- 架構概觀
- 註冊程式
先決條件 prerequisites
開始使用作者伺服器和發佈伺服器之前,您應具備以下預先知識:
- AEM拓撲
- 建立和管理AEM Screens專案
- 裝置註冊程式
簡介 introduction
AEM Screens架構類似於傳統AEM Sites架構。 內容會在AEM編寫執行個體上編寫,然後轉送復寫到多個發佈執行個體。 AEM Screens上的裝置現在可以透過負載平衡器連線至AEM發佈陣列。 可以新增多個AEM發佈執行個體以繼續擴充發佈陣列。
例如,AEM Screens內容作者會在特定裝置的編寫系統上發出命令。 該裝置已設定為與發佈伺服器陣列互動。 或者,與AEM Screens內容作者互動,後者取得已設定為與發佈伺服器陣列互動之裝置的相關資訊。
下圖說明作者環境和發佈環境。
架構設計 architectural-design
有五個架構元件有助於此解決方案:
-
正在將內容 從作者復寫到發佈,以供裝置顯示
-
反向 將二進位內容從發佈環境(從裝置接收)複製到編寫環境。
-
從作者傳送 命令,以透過特定REST API發佈。
-
在發佈執行個體之間傳訊,以同步處理裝置資訊更新和命令。
-
由發佈執行個體的作者輪詢,以透過特定REST API取得裝置資訊。
內容和設定的復寫(轉送) replication-forward-of-content-and-configurations
標準復寫代理程式用於復寫AEM Screens通道內容、位置設定和裝置設定。 此功能可讓作者更新管道內容,並在發佈管道更新前,選擇性地透過某種核准工作流程。 必須為發佈伺服器陣列中的每個發佈執行個體建立復寫代理程式。
下圖說明了復製程式:
Screens復寫代理和命令 screens-replication-agents-and-commands
自訂Screens專用的復寫代理程式是用來從Author例項傳送命令至AEM Screens裝置。 AEM Publish執行個體可作為中介,將這些命令轉送至裝置。
此工作流程可讓作者繼續管理裝置,例如傳送裝置更新,以及從作者環境擷取熒幕擷圖。 AEM Screens復寫代理程式具有自訂傳輸設定,例如標準復寫代理。
Publish執行個體之間的傳訊 messaging-between-publish-instances
通常命令只適用於傳送至裝置。 然而,在負載平衡的發佈架構中,裝置連線的發佈執行個體不明。
因此,製作執行個體會將訊息傳送至所有Publish執行個體。 不過,之後只應將單一訊息轉送至裝置。 為確保傳訊功能正確無誤,發佈執行個體之間必須通訊。 此通訊是使用 Apache ActiveMQ Artemis 達成。 每個發佈執行個體都會使用Oak型Sling探索服務,放置於鬆散耦合的拓撲中。 ActiveMQ的設定方式讓每個發佈執行個體都可以通訊並建立單一訊息佇列。 AEM Screens裝置透過負載平衡器輪詢AEM發佈陣列,並從佇列頂端挑選命令。
反向複寫 reverse-replication
通常,在命令之後,會從Screens裝置將某種回應轉送至作者執行個體。 若要實現此AEM 已使用反向復寫。
- 為每個發佈執行個體建立反向復寫代理,類似於標準復寫代理和AEM Screens復寫代理。
- 工作流程啟動器設定會監聽在AEM發佈執行個體上修改的節點,然後觸發工作流程將裝置的回應放入AEM發佈執行個體的寄件匣中。
- 此內容中的反向復寫僅適用於裝置提供的二進位資料(例如記錄檔和熒幕擷取畫面)。 擷取非二進位資料的輪詢。
- 從AEM製作執行個體反向復寫輪詢會擷取回應,並將其儲存至製作執行個體。
輪詢Publish執行個體 polling-of-publish-instances
製作執行個體必須能夠輪詢動裝置,才能取得心率並瞭解連線裝置的健康狀態。
裝置ping負載平衡器並路由至發佈執行個體。 然後裝置狀態會由AEM發佈執行個體透過為所有使用中裝置提供的@ api/screens-dcc/devices/static 和 api/screens-dcc/devices/<device_id>/status.json 提供的Publish API公開。
製作執行個體輪詢所有發佈執行個體,並將裝置狀態回應合併為單一狀態。 在作者上輪詢的排程工作是com.adobe.cq.screens.impl.jobs.DistributedDevicesStatiUpdateJob
,可以根據cron運算式進行設定。
註冊 registration
註冊會繼續源自AEM編寫執行個體。 AEM Screens裝置指向作者例項且註冊完成。
在AEM製作環境中註冊裝置後,裝置設定和管道/排程指派會複製到AEM發佈執行個體。 AEM Screens裝置設定接著會更新,以指向AEM發佈伺服器陣列前面的負載平衡器。 此安排旨在一次性設定。 Screens裝置成功連線至發佈環境後,即可繼續接收源自製作環境的命令。 應該不需要直接將AEM Screens裝置連線到AEM作者環境。
後續步驟 the-next-steps
當您瞭解AEM Screens中作者與發佈設定的架構設計時,如需詳細資訊,請參閱為AEM Screens設定作者與Publish。