L'offload distribuisce le attività di elaborazione tra le istanze di Experience Manager in una topologia. L'offload consente di utilizzare istanze di Experience Manager specifiche per l'esecuzione di tipi specifici di elaborazione. L'elaborazione specializzata consente di ottimizzare l'utilizzo delle risorse server disponibili.
L'offload si basa sul Apache Sling Discovery e Sling Job Manager. Per utilizzare l'offload, è possibile aggiungere cluster di Experienci Manager a una topologia e identificare gli argomenti dei processi elaborati dal cluster. I cluster sono composti da una o più istanze di Experience Manager, in modo che una singola istanza venga considerata un cluster.
Per informazioni sull'aggiunta di istanze a una topologia, vedere Amministrazione delle topologie.
Sling JobManager e JobConsumer consentono la creazione di processi elaborati in una topologia:
Quando JobManager crea un processo, il framework Offload seleziona un cluster di Experienci Manager nella topologia per eseguire il processo:
Consulta Configurazione del consumo di argomenti per informazioni sull'ottimizzazione della distribuzione dei processi.
Quando il framework di offload seleziona un cluster per eseguire un processo e il cluster è composto da più istanze, la Distribuzione Sling determina quale istanza nel cluster esegue il processo.
Il framework Offload supporta i payload dei job che associano i job alle risorse del repository. I payload dei processi sono utili quando vengono creati processi per l'elaborazione delle risorse e il processo viene scaricato in un altro computer.
Al momento della creazione di un processo, il payload si trova solo sull’istanza che lo crea. Quando si esegue l’offload del processo, gli agenti di replica garantiscono che il payload venga creato sull’istanza che alla fine lo utilizza. Al termine dell’esecuzione del processo, la replica inversa fa sì che il payload venga copiato nuovamente nell’istanza che ha creato il processo.
Le topologie sono cluster Experienci Manager liberamente accoppiati che partecipano all'offload. Un cluster è costituito da una o più istanze del server di Experience Manager (una singola istanza viene considerata un cluster).
Ogni istanza di Experience Manager esegue i seguenti servizi relativi all'offload:
Il servizio di individuazione di tutti i membri della topologia punta al connettore topologia su uno dei membri. Nelle sezioni successive, questo membro viene definito membro radice.
Ogni cluster nella topologia contiene un'istanza riconosciuta come leader. La coordinata del cluster interagisce con la topologia per conto degli altri membri del cluster. Quando la linea guida lascia il cluster, viene automaticamente scelta una nuova linea guida per il cluster.
Utilizzare il browser Topologia per esplorare lo stato della topologia a cui appartiene l'istanza Experience Manager. Visualizzatore topologia mostra i cluster e le istanze della topologia.
Per ogni cluster viene visualizzato un elenco di membri del cluster che indica l'ordine in cui ogni membro è stato aggiunto al cluster e quale membro è il responsabile. La proprietà Current indica l'istanza che si sta amministrando.
Per ogni istanza del cluster, è possibile visualizzare diverse proprietà relative alla topologia:
Utilizzando l’interfaccia utente touch, fai clic sulla scheda Strumenti. (http://localhost:4502/tools.html)
Nell'area Operazioni Granite fare clic su Offload browser.
Nel pannello di navigazione, fate clic su Browser topologia.
Vengono visualizzati i cluster che partecipano alla topologia.
Fare clic su un cluster per visualizzare un elenco delle istanze nel cluster e il relativo ID, stato corrente e stato guida.
Fai clic su un ID istanza per visualizzare proprietà più dettagliate.
È inoltre possibile utilizzare la console Web per visualizzare informazioni sulla topologia. La console fornisce ulteriori informazioni sui cluster di topologia:
Per aprire la pagina Gestione topologia della console Web, attenersi alla procedura descritta di seguito.
Apri la console Web nel browser. (http://localhost:4502/system/console)
Fai clic su Principale > Gestione topologia.
Apache Sling Resource-Based Discovery Service viene eseguito su ogni istanza per controllare il modo in cui le istanze Experience Manager interagiscono con una topologia.
Il servizio Discovery invia richieste POST periodiche (heartbeat) ai servizi del connettore topologia per stabilire e mantenere connessioni con la topologia. Il servizio Connettore topologia gestisce un elenco consentiti di indirizzi IP o nomi host che possono essere aggiunti alla topologia:
Utilizza la console web o un nodo sling:OsgiConfig per configurare le seguenti proprietà del servizio org.apache.sling.discovery.impt.Config:
Nome proprietà | Nome OSGi | Descrizione | Valore predefinito |
---|---|---|---|
Timeout heartbeat (secondi) | heartbeatTimeout | Il tempo di attesa in secondi di una risposta heartbeat prima che l’istanza di destinazione sia considerata non disponibile. | 20 |
Intervallo heartbeat (secondi) | heartbeatInterval | La quantità di tempo in secondi tra gli heartbeat. | 15 |
Ritardo evento minimo (secondi) | minEventDelay | Quando si verifica una modifica alla topologia, il tempo necessario per ritardare la modifica dello stato da TOPOLOGY_CHANGING a TOPOLOGY_CHANGED. Ogni modifica che si verifica quando lo stato è TOPOLOGY_CHANGING aumenta il ritardo di questo periodo di tempo. Questo ritardo impedisce agli ascoltatori di essere inondati da eventi. Per non utilizzare alcun ritardo, specificare 0 o un numero negativo. |
3 |
URL del connettore topologia | topologyConnectorUrls | Gli URL dei servizi Connettore topologia per l’invio di messaggi heartbeat. | http://localhost:4502/libs/sling/topology/connector |
Elenco consentiti connettore topologia | topologyConnectorWhitelist | Elenco di indirizzi IP o nomi host consentiti dal servizio Connettore topologia locale nella topologia. | localhost 127.0.0.1 |
Nome descrittore archivio | leaderElectionRepositoryDescriptor | <nessun valore> |
Per connettere un'istanza CQ al membro radice di una topologia, attenersi alla procedura descritta di seguito. La procedura punta l'istanza all'URL del connettore topologia del membro della topologia radice. Eseguire questa procedura su tutti i membri della topologia.
Eseguire la procedura seguente sul membro radice della topologia. La procedura aggiunge i nomi degli altri membri della topologia al relativo elenco consentiti del servizio di individuazione.
Utilizzare il browser Offload per configurare l'utilizzo degli argomenti per le istanze di Experience Manager nella topologia. Per ogni istanza, puoi specificare gli argomenti utilizzati. Ad esempio, per configurare la topologia in modo che una sola istanza utilizzi argomenti di un tipo specifico, disattivare l'argomento su tutte le istanze tranne una.
I job vengono distribuiti tra le istanze che hanno l'argomento associato abilitato utilizzando la logica round robin.
Utilizzando l’interfaccia utente touch, fai clic sulla scheda Strumenti. (http://localhost:4502/tools.html)
Nell'area Operazioni Granite fare clic su Offload browser.
Nel pannello di navigazione, fate clic su Offload browser (Offload Browser).
Vengono visualizzati gli argomenti di scaricamento e le istanze del server che possono utilizzarli.
Per disattivare l'utilizzo di un argomento per un'istanza, sotto il nome dell'argomento fare clic su Disattiva accanto all'istanza.
Per configurare l’utilizzo di tutti gli argomenti per un’istanza, fai clic sull’identificatore dell’istanza sotto qualsiasi argomento.
Fare clic su uno dei seguenti pulsanti accanto a un argomento per configurare il comportamento di consumo per l'istanza, quindi fare clic su Salva:
Nota: Quando si seleziona Esclusivo per un argomento, tutti gli altri argomenti vengono automaticamente impostati su Disabilitato.
Con Experience Manager vengono installate diverse implementazioni di JobConsumer. Gli argomenti per i quali sono registrati questi JobConsumers vengono visualizzati nel browser Offload. Ulteriori argomenti visualizzati sono quelli registrati da JobConsumers personalizzati. Nella tabella seguente vengono descritti i valori predefiniti di JobConsumers.
Argomento lavoro | Servizio PID | Descrizione |
---|---|---|
/ | org.apache.sling.event.impl.jobs.deprecated.EventAdminBridge | Installato con Apache Sling. Elabora i processi generati dall’amministratore degli eventi OSGi per garantire la compatibilità con le versioni precedenti. |
com/day/cq/replication/job/* | com.day.cq.replication.impl.AgentManagerImpl | Agente di replica che replica i payload dei processi. |
Il servizio Apache Sling Job Consumer Manager fornisce proprietà di elenco consentiti e elenco Bloccati per argomenti. Configura queste proprietà per abilitare o disabilitare l'elaborazione di argomenti specifici in un'istanza di Experience Manager.
Nota: Se l'istanza appartiene a una topologia, è inoltre possibile utilizzare Offload Browser in qualsiasi computer della topologia per attivare o disattivare gli argomenti.
La logica che crea l'elenco degli argomenti abilitati consente innanzitutto tutti gli argomenti presenti nell'elenco consentiti e quindi rimuove gli argomenti presenti nell'elenco Bloccati. Per impostazione predefinita, tutti gli argomenti sono abilitati (il valore di elenco consentiti è *
) e nessun argomento è disabilitato (l'elenco Bloccati non ha valore).
Utilizza la console web o un sling:OsgiConfig
per configurare le seguenti proprietà. Per sling:OsgiConfig
PID del servizio Job Consumer Manager: org.apache.sling.event.impl.jobs.JobConsumerManager.
Nome proprietà nella console web | ID OSGi | Descrizione |
---|---|---|
Elenco consentiti argomento | job.consumermanager.whitelist | Elenco di argomenti elaborati dal servizio JobManager locale. Con il valore predefinito * tutti gli argomenti vengono inviati al servizio TopicConsumer registrato. |
Elenco Bloccati argomento | job.consumermanager.blacklist | Elenco di argomenti non elaborati dal servizio JobManager locale. |
Il framework di offload utilizza la replica per trasportare le risorse tra l'istanza di authoring e quella di lavoro. Il framework di offload crea automaticamente agenti di replica quando le istanze si uniscono alla topologia. Gli agenti vengono creati con valori predefiniti. Modificare manualmente la password utilizzata dagli agenti per l'autenticazione.
Un problema noto con gli agenti di replica generati automaticamente richiede la creazione manuale di nuovi agenti di replica.
Creare gli agenti di replica che trasportano i payload dei processi tra le istanze per l'offload. La figura seguente mostra gli agenti necessari per eseguire l'offload dall'istanza di authoring a un'istanza di lavoro. L’autore ha un ID Sling pari a 1 e l’istanza di lavoro ha un ID Sling pari a 2:
Questa configurazione richiede i tre agenti seguenti:
Questo schema di replica è simile a quello utilizzato tra le istanze di authoring e di pubblicazione. Tuttavia, per la situazione di scaricamento, tutte le istanze coinvolte sono istanze di authoring.
Il framework di offload utilizza la topologia per ottenere gli indirizzi IP delle istanze di offload. Il framework crea quindi automaticamente gli agenti di replica in base a questi indirizzi IP. Se gli indirizzi IP delle istanze di offload cambiano successivamente, la modifica viene propagata automaticamente sulla topologia dopo il riavvio dell'istanza. Tuttavia, il framework di offload non aggiorna automaticamente gli agenti di replica in modo che riflettano i nuovi indirizzi IP. Per evitare questa situazione, utilizzare indirizzi IP fissi per tutte le istanze nella topologia.
Utilizza un formato specifico per Nome degli agenti di replica in modo che il framework di offload utilizzi automaticamente l'agente corretto per istanze di lavoro specifiche.
Denominazione dell’agente in uscita nell’istanza di authoring:
offloading_<slingid>
, dove <slingid>
è l’ID Sling dell’istanza di lavoro.
Esempio: offloading_f5c8494a-4220-49b8-b079-360a72f71559
Denominazione dell’agente inverso nell’istanza di authoring:
offloading_reverse_<slingid>
, dove <slingid>
è l’ID Sling dell’istanza di lavoro.
Esempio: offloading_reverse_f5c8494a-4220-49b8-b079-360a72f71559
Denominazione della casella in uscita nell’istanza di lavoro:
offloading_outbox
Creare un Agente di replica sull'autore. (consultare la documentazione per gli agenti di replica). Specifica qualsiasi Titolo. Il Nome deve seguire la convenzione di denominazione.
Crea l’agente utilizzando le seguenti proprietà:
Proprietà | Valore |
---|---|
Impostazioni > Tipo di serializzazione | Predefiniti |
Trasporto >URI trasporto | https://<ip of target instance> :<port> /bin/receive?sling:authRequestLogin=1 |
Trasporto >Utente trasporto | Utente di replica sull’istanza di destinazione |
Trasporto >Password trasporto | Password utente di replica nell’istanza di destinazione |
Esteso > Metodo HTTP | POST |
Triggers > Ignora predefinito | Vero |
Creare un Agente replica inversa sull'autore. (consultare la documentazione per gli agenti di replica.) Specifica qualsiasi Titolo. Il Nome deve seguire la convenzione di denominazione.
Crea l’agente utilizzando le seguenti proprietà:
Proprietà | Valore |
---|---|
Impostazioni > Tipo di serializzazione | Predefiniti |
Trasporto >URI trasporto | https://<ip of target instance> :<port> /bin/receive?sling:authRequestLogin=1 |
Trasporto >Utente trasporto | Utente di replica sull’istanza di destinazione |
Trasporto >Password trasporto | Password utente di replica nell’istanza di destinazione |
Esteso > Metodo HTTP | GET |
Creare un Agente di replica sull'istanza del lavoratore. (consultare la documentazione per gli agenti di replica.) Specifica qualsiasi Titolo. Il Nome deve essere offloading_outbox
.
Crea l’agente utilizzando le seguenti proprietà.
Proprietà | Valore |
---|---|
Impostazioni > Tipo di serializzazione | Predefiniti |
Trasporto >URI trasporto | repo://var/replication/outbox |
Trigger > Ignora predefinito | Vero |
Ottieni l’ID Sling di un’istanza Experience Manager utilizzando uno dei seguenti metodi:
Oltre ai dettagli presentati in questa pagina, puoi leggere quanto segue: