작성자 및 게시 아키텍처 개요

이 페이지에서는 다음 주제를 강조 표시합니다.

  • 게시 서버 소개
  • 아키텍처 개요
  • 등록 프로세스

전제 조건

작성자 및 게시 서버를 시작하기 전에 다음 사항에 대한 사전 지식이 있어야 합니다.

  • AEM 토폴로지
  • AEM Screens 프로젝트 만들기 및 관리
  • 장치 등록 프로세스
노트

이 AEM Screens 기능은 AEM 6.4 Screens 기능 팩 2를 설치한 경우에만 사용할 수 있습니다. 이 Feature Pack에 액세스하려면 Adobe 지원 센터에 연락하여 액세스 권한을 요청해야 합니다. 권한이 있으면 [패키지 공유]에서 다운로드할 수 있습니다.

소개

AEM Screens 아키텍처는 기존의 AEM Sites 아키텍처와 유사합니다. 컨텐츠는 AEM 작성자 인스턴스에서 작성 된 다음 여러 게시 인스턴스에 포워드됩니다. 이제 AEM Screens 장치가 로드 밸런서를 통해 AEM 게시 팜에 연결할 수 있습니다. 게시 팜을 계속 확장하기 위해 여러 AEM 게시 인스턴스를 추가할 수 있습니다.

예를 들어, AEM Screens 컨텐츠 작성자는 게시 팜 또는 게시 팜과 상호 작용하도록 구성된 AEM Screens 컨텐츠 작성자와 상호 작용하도록 구성된 특정 장치의 작성 시스템에 대한 명령을 발행하며, 게시 팜과 상호 작용하도록 구성된 장치에 대한 정보를 가져옵니다.

다음 다이어그램은 작성 및 게시 환경을 보여줍니다.

screen_shot_2019-03-04at30236pm

건축설계

다음과 같은 5가지 아키텍처 구성 요소가 있어 이 솔루션을 용이하게 합니다.

  • 작성자 에서 게시로 컨텐츠를 복제하여 장치별 표시

  • ​** 이진 컨텐츠를 게시(장치에서 수신)에서 작성자로 되돌리기

  • ​** 특정 REST API를 통해 작성자에서 게시로 명령을 보냅니다.

  • ​** 장치 정보 업데이트와 명령을 동기화하기 위한 게시 인스턴스 간 메시지

  • ​** 특정 REST API를 통해 장치 정보를 얻기 위해 게시 인스턴스 작성자가 폴링함

컨텐츠 및 구성 복제(전달)

표준 복제 에이전트는 스크린 채널 컨텐츠, 위치 구성 및 장치 구성을 복제하는 데 사용됩니다. 이를 통해 작성자는 채널 업데이트를 게시하기 전에 채널의 컨텐츠를 업데이트하고 선택적으로 일부 유형의 승인 워크플로우를 진행할 수 있습니다. 게시 팜의 각 게시 인스턴스에 대해 복제 에이전트를 만들어야 합니다.

다음 다이어그램은 복제 프로세스를 보여 줍니다.

screen_shot_2019-03-04at33935pm

노트

게시 팜의 각 게시 인스턴스에 대해 복제 에이전트를 만들어야 합니다.

화면 복제 에이전트 및 명령

작성자 인스턴스에서 AEM Screens 장치로 명령을 전송하기 위해 사용자 지정 스크린 관련 복제 에이전트가 작성됩니다. AEM 게시 인스턴스는 이러한 명령을 장치에 전달하는 매개체 역할을 합니다.

이렇게 하면 작성자가 장치 업데이트를 보내고 작성 환경에서 스크린샷과 같은 장치를 계속 관리할 수 있습니다. AEM Screens 복제 에이전트에는 표준 복제 에이전트와 같은 사용자 지정 전송 구성이 있습니다.

게시 인스턴스 간 메시징

대부분의 경우 명령은 한 번만 장치로 전송되어야 합니다. 그러나 로드 밸런싱된 게시 아키텍처에서는 장치가 연결되어 있는 게시 인스턴스를 알 수 없습니다.

따라서 작성자 인스턴스는 모든 게시 인스턴스에 메시지를 전송합니다. 그러나 단 하나의 메시지만 장치에 전달되어야 합니다. 올바른 메시징을 보장하려면 게시 인스턴스 간에 일부 통신이 수행되어야 합니다. 이 작업은 Apache ActiveMQ Artemis​를 사용하여 수행됩니다. 각 게시 인스턴스는 Oak 기반 Sling 검색 서비스를 사용하여 느슨하게 연결된 토폴로지에 배치되고 ActiveMQ가 구성되어 각 게시 인스턴스가 통신하고 단일 메시지 큐를 만들 수 있습니다. 스크린 장치는 로드 밸런서를 통해 게시 팜을 폴링하고 큐 맨 위에서 명령을 선택합니다.

역복제

대부분의 경우 명령 다음에 스크린 장치에서 일부 유형의 응답이 작성자 인스턴스로 전달될 것으로 예상됩니다. 이 AEM 역방향 복제​를 사용하려면

  • 표준 복제 에이전트 및 스크린 복제 에이전트와 마찬가지로 각 게시 인스턴스에 대해 역방향 복제 에이전트를 만듭니다.
  • 워크플로우 런처 구성은 게시 인스턴스에서 수정된 노드를 수신하고, 그런 다음 워크플로우를 트리거하여 게시 인스턴스의 Outbox에 장치 응답을 배치합니다.
  • 이 컨텍스트의 역방향 복제는 장치가 제공하는 이진 데이터(예: 로그 파일 및 스크린샷)에만 사용됩니다. 바이너리가 아닌 데이터가 폴링으로 검색됩니다.
  • AEM 작성자 인스턴스에서 폴링된 역복제 는 응답을 검색하고 작성자 인스턴스에 저장합니다.

게시 인스턴스 폴링

작성자 인스턴스는 하트비트를 얻고 연결된 장치의 상태를 알 수 있도록 장치를 폴링할 수 있어야 합니다.

장치는 로드 밸런서를 ping하고 게시 인스턴스로 라우팅됩니다. 그런 다음 장치의 상태는 모든 활성 장치에 대해 제공되는 게시 API @ api/screens-dcc/devices/static 및 단일 장치에 대한 api/screens-dcc/devices/<device_id>/status.json​를 통해 게시 인스턴스에 의해 노출됩니다.

작성자 인스턴스는 모든 게시 인스턴스를 폴링하고 장치 상태 응답을 단일 상태로 병합합니다. 작성자에 대해 폴링하는 예약된 작업은 com.adobe.cq.screens.impl.jobs.DistributedDevicesStatiUpdateJob이며, 크론 식을 기반으로 구성할 수 있습니다.

등록

등록은 AEM 작성자 인스턴스에서 계속 시작됩니다. AEM Screens 장치가 작성자 인스턴스를 가리키며 등록이 완료되었습니다.

장치가 작성 환경에 등록되면 장치 구성 및 채널/예약 할당이 AEM 게시 인스턴스에 복제됩니다. 그런 다음 AEM Screens 장치 구성이 업데이트되어 AEM 게시 팜 앞의 로드 밸런서를 가리킵니다. 이는 스크린 장치가 게시 환경에 성공적으로 연결되면 작성 환경에서 시작된 명령을 계속 수신할 수 있고 스크린 장치를 작성 환경에 직접 연결할 필요가 없습니다.

screen_shot_2019-02-25at15218pm

다음 단계

AEM Screens의 작성자 및 게시 설정의 아키텍처 디자인을 이해하면 AEM Screens에 대한 작성자 및 게시 구성을 참조하십시오.

이 페이지에서는