Informazioni sulla creazione e l'implementazione della coda di Oracle Cloud Infrastructure utilizzando le API e l'SDK Java

Puoi usare l'API e gli SDK della coda Oracle Cloud Infrastructure (OCI) per creare, segnalare e quindi utilizzare questo servizio come origine di messaggio e come consumer. Sebbene questa guida sia incentrata sulle API Java, gli stessi principi e funzionalità sono disponibili in tutti gli SDK di linguaggio.

OCI Queue è un servizio di consegna dei messaggi completamente gestito e serverless che si ridimensiona automaticamente per soddisfare le richieste dei carichi di lavoro. Ti consente di scollegare le tue applicazioni e creare un'architettura asincrona basata sugli eventi.

Informazioni sulle interfacce API di coda OCI

Le soluzioni sono molto raramente processi singoli; la comunicazione asincrona tra le applicazioni è spesso necessaria per evitare che la soluzione venga limitata dai limiti delle risorse, ad esempio per quanto riguarda la necessità di CPU, latenza e così via. È possibile superare questi problemi stabilendo una comunicazione in cui produttori e consumatori non devono dipendere tra loro. La coda OCI supporta questo tipo di comunicazione durante l'esecuzione a un livello molto elevato.

Architettura

L'architettura descritta in questo playbook semplifica l'esecuzione della logica dal tuo computer o il facile utilizzo da una o due VM che possono essere controllate tramite un tunnel SSH. Queste architetture sono illustrate nei seguenti diagrammi. Tenere presente che la coda OCI non viene visualizzata quando la coda viene creata in base alle esigenze.

Se si sta creando e implementando la coda con lo strumento Coda OCI al di fuori di una VM, utilizzare questa architettura:


Segue la descrizione della coda-api-playbook-arch-02.png
Descrizione dell'illustrazione Queue-Api-playbook-arch-02.png

libro di consultazione API-arch-02-oracle.zip

Se si sta creando e implementando la coda con lo strumento Coda OCI all'interno di una VM, utilizzare questa architettura:


Segue la descrizione della coda-api-playbook-arch-01.png
Descrizione dell'illustrazione Queue-Api-playbook-arch-01.png

libro di consultazione API-arch-01-oracle.zip

Ai fini del seguente playbook assumeremo l'uso del nostro host desktop sia per il cliente che per il consumatore.

Entrambe queste architetture contengono i seguenti componenti:
  • Regione

    Un'area geografica Oracle Cloud Infrastructure è un'area geografica localizzata che contiene uno o più data center, definiti domini di disponibilità. Le regioni sono indipendenti da altre regioni e grandi distanze possono separarle (in tutti i paesi o anche in continenti).

  • Domini di disponibilità

    I domini di disponibilità sono data center standalone indipendenti all'interno di un'area geografica. Le risorse fisiche in ciascun dominio di disponibilità sono isolate dalle risorse presenti negli altri domini di disponibilità, che offrono tolleranza agli errori. I domini di disponibilità non condividono l'infrastruttura, ad esempio l'alimentazione o il raffreddamento, oppure la rete interna del dominio di disponibilità. Pertanto, è improbabile che l'eventuale guasto di un dominio di disponibilità influenzi gli altri domini di disponibilità dell'area.

  • domini di errore

    Un dominio di errore è un raggruppamento di hardware e infrastruttura all'interno di un dominio di disponibilità. Ogni dominio di disponibilità dispone di tre domini di errore con alimentazione e hardware indipendenti. Quando distribuisci risorse su più domini di errore, le tue applicazioni possono tollerare errori fisici del server, manutenzione del sistema e errori di alimentazione all'interno di un dominio di errore.

  • Compartimento

    I compartimenti sono partizioni logiche tra più aree all'interno di una tenancy di Oracle Cloud Infrastructure. Utilizza i compartimenti per organizzare le risorse in Oracle Cloud, controllare l'accesso alle risorse e impostare le quote di utilizzo. Per controllare l'accesso alle risorse in un determinato compartimento, definisci i criteri che specificano chi può accedere alle risorse e quali azioni può eseguire.

  • Rete cloud virtuale (VCN) e subnet

    Una VCN è una rete personalizzabile e definita dal software configurata in un'area Oracle Cloud Infrastructure. Analogamente alle reti di data center tradizionali, i VCN offrono il controllo completo sull'ambiente di rete. Una VCN può avere più blocchi CIDR non sovrapposti che puoi modificare dopo aver creato la VCN. Puoi segmentare una VCN nelle subnet che possono essere definite nell'area o in un dominio di disponibilità. Ogni subnet è composta da un intervallo contiguo di indirizzi che non si sovrappongono alle altre subnet nella VCN. Puoi modificare le dimensioni di una subnet dopo la creazione. Una subnet può essere pubblica o privata.

  • Istanze di computazione

    Oracle Cloud Infrastructure Compute ti consente di eseguire il provisioning e la gestione degli host di computazione. Puoi avviare le istanze di computazione con forme che soddisfano i requisiti delle risorse (CPU, memoria, larghezza di banda della rete e storage). Dopo aver creato un'istanza di computazione, puoi accedere a tale istanza in modo sicuro, riavviarla, collegare e scollegare volumi e terminarla quando non ne hai bisogno.

Considerazioni per i criteri di coda

I criteri per il controllo e la configurazione delle code e dei criteri OCI per la creazione e l'utilizzo dei messaggi sono separati. In questo modo, si ottiene un controllo dettagliato delle operazioni disponibili tramite le API. Ciò significa che devi tenere in considerazione i requisiti e le esigenze di sicurezza della tua applicazione.

Informazioni sull'SDK Java

Gli SDK forniti da OCI forniscono una serie di funzioni convincenti che recuperano le informazioni necessarie per autenticare e autorizzare i richiami del servizio OCI. Gli SDK adottano la variante del pattern del Builder di Joshua Bloch. Ulteriori informazioni su questi modelli di build nel post di blog, Esplorare il pattern di progettazione di Joshua Bloch in Java.