製作與發佈架構概覽 author-and-publish-architectural-overview

本頁面主要說明下列主題:

  • 發佈伺服器簡介
  • 架構概述
  • 註冊程式

先決條件 prerequisites

開始使用作者伺服器和發佈伺服器之前,您應具備以下預先知識:

  • AEM拓撲
  • 建立和管理AEM Screens專案
  • 裝置註冊程式
NOTE
此AEM Screens功能僅在您已安裝AEM 6.4 Screens Feature Pack 2時可用。 若要存取此Feature Pack,請聯絡Adobe支援並要求存取權。 取得許可權後,請從「封裝共用」下載。

簡介 introduction

AEM Screens架構類似於傳統AEM Sites架構。 內容會在AEM編寫執行個體上編寫,然後轉送復寫到多個發佈執行個體。 AEM Screens上的裝置現在可以透過負載平衡器連線至AEM發佈陣列。 可以新增多個AEM發佈執行個體以繼續擴充發佈陣列。

例如,AEM Screens內容作者會在編寫系統上為特定裝置發出命令。 該裝置已設定為與發佈伺服器陣列互動。 或者,與AEM Screens內容作者互動,後者取得已設定為與發佈伺服器陣列互動之裝置的相關資訊。

下圖說明作者環境和發佈環境。

screen_shot_2019-03-04at30236pm

架構設計 architectural-design

有五個架構元件有助於此解決方案:

  • 復寫內容 從作者發佈到發佈以供裝置顯示

  • 反向 將二進位內容從發佈環境(從裝置接收)複製到編寫環境。

  • 傳送中 作者透過特定REST API發佈的命令。

  • 傳訊 在發佈執行個體之間同步裝置資訊更新和命令。

  • 輪詢 作者透過特定REST API取得裝置資訊。

內容和設定的復寫(轉送) replication-forward-of-content-and-configurations

標準復寫代理程式用於復寫AEM Screens通道內容、位置設定和裝置設定。 此功能可讓作者更新管道內容,並在發佈管道更新前,選擇性地透過某種核准工作流程。 必須為發佈伺服器陣列中的每個發佈執行個體建立復寫代理程式。

下圖說明了復製程式:

screen_shot_2019-03-04at33935pm

NOTE
必須為發佈伺服器陣列中的每個發佈執行個體建立復寫代理程式。

Screens復寫代理和命令 screens-replication-agents-and-commands

自訂Screens會建立特定的復寫代理,以將命令從Author例項傳送至AEM Screens裝置。 AEM Publish執行個體可作為中介將這些命令轉送至裝置。

此工作流程可讓作者繼續管理裝置,例如傳送裝置更新,以及從作者環境擷取熒幕擷圖。 AEM Screens復寫代理程式具有自訂傳輸設定,例如標準復寫代理。

發佈執行個體之間的傳訊 messaging-between-publish-instances

通常命令只適用於傳送至裝置。 然而,在負載平衡的發佈架構中,裝置連線的發佈執行個體不明。

因此,作者執行個體會將訊息傳送給所有發佈執行個體。 不過,之後只應將單一訊息轉送至裝置。 為確保傳訊功能正確無誤,發佈執行個體之間必須通訊。 此通訊是使用 Apache ActiveMQ Artemis. 每個發佈執行個體都會使用Oak型Sling探索服務,放置於鬆散耦合的拓撲中。 ActiveMQ的設定方式讓每個發佈執行個體都可以通訊並建立單一訊息佇列。 AEM Screens裝置透過負載平衡器輪詢AEM發佈陣列,並從佇列頂端挑選命令。

反向複寫 reverse-replication

通常,在命令之後,會從Screens裝置將某種回應轉送到Author例項。 若要實現此AEM 反向復寫 已使用。

  • 為每個發佈執行個體建立反向復寫代理,類似於標準復寫代理和AEM Screens復寫代理。
  • 工作流程啟動器設定會監聽在AEM發佈執行個體上修改的節點,然後觸發工作流程將裝置的回應放入AEM發佈執行個體的寄件匣中。
  • 此內容中的反向復寫僅適用於裝置提供的二進位資料(例如記錄檔和熒幕擷取畫面)。 擷取非二進位資料的輪詢。
  • 從AEM製作執行個體反向復寫輪詢會擷取回應,並將其儲存至製作執行個體。

輪詢發佈執行個體 polling-of-publish-instances

製作執行個體必須能夠輪詢動裝置,才能取得心率並瞭解連線裝置的健康狀態。

裝置ping負載平衡器並路由至發佈執行個體。 然後AEM發佈執行個體會透過提供的Publish API公開裝置的狀態@ api/screens-dcc/devices/static 適用於所有使用中裝置和 api/screens-dcc/devices/<device_id>/status.json 適用於單一裝置。

製作執行個體輪詢所有發佈執行個體,並將裝置狀態回應合併為單一狀態。 輪詢作者的排程工作為 com.adobe.cq.screens.impl.jobs.DistributedDevicesStatiUpdateJob 並且可以根據cron運算式進行設定。

註冊 registration

註冊會繼續源自AEM編寫執行個體。 AEM Screens裝置指向作者例項且註冊完成。

在AEM製作環境中註冊裝置後,裝置設定和管道/排程指派會複製到AEM發佈執行個體。 AEM Screens裝置設定接著會更新,以指向AEM發佈伺服器陣列前面的負載平衡器。 此安排旨在一次性設定。 在Screens裝置成功連線至發佈環境後,可以繼續接收源自製作環境的命令。 應該不需要直接將AEM Screens裝置連線到AEM作者環境。

screen_shot_2019-02-25at15218pm

後續步驟 the-next-steps

若您瞭解AEM Screens中作者與發佈設定的架構設計,請參閱 設定AEM Screens的作者和發佈 以取得更多詳細資料。

recommendation-more-help
adce462a-f916-4dbe-9ab5-0b62cfb0f053