Sviluppo delle applicazioni moderne - Basato sugli eventi
Il pattern dell'applicazione basato sugli eventi ti consente di reagire in tempo quasi reale ai cambiamenti nelle tue risorse cloud e agli eventi generati dalla tua applicazione.
Un evento è qualsiasi ricorrenza o modifica significativa in un sistema, ad esempio un oggetto appena creato nello storage degli oggetti o un avviso sulle prestazioni nell'applicazione. Questo pattern di applicazioni presenta i principi e l'architettura di progettazione per creare applicazioni scalabili, sicure, affidabili e ad alte prestazioni basate sugli eventi.
Oracle Cloud Infrastructure (OCI) fornisce servizi come OCI Service Connector Hub ed eventi OCI per aiutarti a creare applicazioni basate sugli eventi. L'hub connettore servizio OCI consente di creare connettori servizio per lo spostamento dei dati tra i servizi. Un connettore servizio specifica il servizio di origine contenente i dati da spostare, i task facoltativi e il servizio di destinazione per la consegna dei dati al termine dei task. Esempi di task facoltativi includono un task funzione per elaborare i dati dell'origine o un task filtro log per filtrare i dati di log dall'origine. I servizi di origine supportati per i connettori del servizio includono Monitoraggio OCI, Log OCI e Streaming OCI. Ecco alcuni esempi di servizi di destinazione: funzioni OCI, notifiche OCI e storage degli oggetti OCI. Puoi utilizzare gli eventi OCI per generare eventi di modifica delle risorse che possono essere inclusi dai connettori del servizio utilizzando i flussi. Analogamente, l'applicazione può generare eventi personalizzati e utilizzare i flussi per instradarli ai connettori del servizio.
Principi di progettazione
Durante la progettazione dell'architettura per l'applicazione basata sugli eventi, puoi utilizzare i seguenti principi moderni di sviluppo delle applicazioni:
- Usa piattaforme con uso ridotto di codice, se possibile e in caso contrario, linguaggi di programmazione maturi e framework leggeri
Descrivi i dati dell'evento con CloudEvents, un formato aperto e standard del settore. CloudEvents consente di descrivere i dati degli eventi in un formato coerente e ampiamente utilizzato e di fornire kit SDK (Software Development Kit) per diversi linguaggi di programmazione, tra cui Java. Gli eventi creati utilizzando Oracle Cloud Infrastructure Events utilizzano il formato CloudEvents.
- Usa i servizi gestiti per eliminare la complessità nello sviluppo e nelle operazioni delle applicazioni
Utilizza i servizi gestiti per comunicare, elaborare e rendere persistenti i dati degli eventi.
Utilizzare l'hub connettore servizio OCI per orchestrare lo spostamento dei dati tra i servizi. Utilizza servizi gestiti come le funzioni OCI o Oracle Container Engine for Kubernetes (OKE) per elaborare gli eventi. Utilizzare le notifiche OCI per connettere i connettori del servizio ai servizi a valle, ad esempio e-mail, SMS, Slack o PagerDuty.
- Monitoraggio e rintracciamento end-to-end degli strumenti
Un router di eventi come l'hub connettore servizio OCI e gli eventi OCI producono metriche in OCI Monitoring, semplificando il monitoraggio degli eventi dell'applicazione e la creazione di metriche e allarmi personalizzati. Per il trace distribuito end-to-end, crea dashboard personalizzati con regole di log (OCI Logging Analytics) e monitoraggio basato su allarmi (OCI Notifications) per consentire agli amministratori di rilevare e reagire rapidamente a qualsiasi problema. Inoltre, un router evento offre la capacità unica di fornire una singola vista di pannello di controllo nella struttura dell'evento.
Architettura
Questa architettura utilizza principi di sviluppo delle applicazioni all'avanguardia per creare applicazioni basate sugli eventi.
architettura basata su eventi pazzi-oracle.zip
L'architettura prevede i componenti elencati di seguito.
- Streaming
Il streaming di Oracle Cloud Infrastructure offre una soluzione di storage completamente gestita, scalabile e duratura dedicata all'inclusione di flussi di dati continui e a elevato volume che puoi utilizzare ed elaborare in tempo reale. Puoi utilizzare la funzionalità di streaming per l'inclusione di dati a elevato volume, come log dell'applicazione, telemetria operativa, dati di clic sul Web o per altri casi d'uso in cui i dati vengono prodotti e elaborati in maniera continua e sequenziale in un modello di messaggistica di pubblicazione/sottoscrizione.
- Funzioni
Oracle Cloud Infrastructure Functions è una piattaforma completamente gestita, multi-tenant, altamente scalabile, on-demand e Functions-as-a-Service (FaaS). Si basa sul motore open source di Fn Project. Le funzioni consentono di distribuire il codice e di chiamarlo direttamente o attivarlo in risposta agli eventi. Oracle Functions utilizza i container Docker ospitati in Oracle Cloud Infrastructure Registry.
- Connettori servizio
Hub connettore servizio Oracle Cloud Infrastructure è una piattaforma bus messaggi cloud che orchestra lo spostamento dei dati tra i servizi in OCI. È possibile utilizzare i connettori del servizio per spostare i dati da un servizio di origine a un servizio di destinazione. I connettori servizio consentono inoltre di specificare facoltativamente un task (ad esempio una funzione) da eseguire sui dati prima che venga consegnato al servizio di destinazione.
È possibile utilizzare l'hub connettore servizio di Oracle Cloud Infrastructure per creare rapidamente un framework di aggregazione dei log per i sistemi SEM (Security Information and Event Management).
- È possibile utilizzare i connettori del servizio per spostare i dati da un servizio di origine a un servizio di destinazione. I connettori servizio consentono inoltre di specificare facoltativamente un task (ad esempio una funzione) da eseguire sui dati prima che venga consegnato al servizio di destinazione.
- Notifiche
Il servizio Oracle Cloud Infrastructure Notifications trasmette i messaggi ai componenti distribuiti attraverso un pattern di pubblicazione/sottoscrizione, offrendo messaggi sicuri, altamente affidabili, a bassa latenza e duraturi per le applicazioni ospitate su Oracle Cloud Infrastructure.
Esempio di caso d'uso
Il caso d'uso Allarme sui dati di log adotta l'architettura basata sugli eventi per implementare allarmi per i dati di log utilizzando l'hub connettore servizio Oracle Cloud Infrastructure (OCI), i log OCI e i servizi di monitoraggio OCI.
Questo caso d'uso crea un connettore di servizio e un allarme. Il connettore del servizio (hub connettore servizio OCI) elabora e sposta i dati di log da Log OCI a Monitoraggio OCI, mentre l'allarme viene attivato dai dati di log ricevuti. Per i dettagli, vedere il collegamento allo scenario nell'argomento Esplora altro.
Distribuisci
- Vai a GitHub.
- Duplicare o scaricare il repository sul computer locale.
- Seguire le istruzioni riportate nel documento
README
.