In uno dei nostri progetti, abbiamo creato un motore di sottoscrizione editore su Oracle Service Bus. La funzionalità essendo una serie di eventi vengono pubblicati e gli abbonati (code JMS) li ricevono ogni volta che viene pubblicato un nuovo evento.
Ora stiamo affrontando alcuni problemi tecnici, dal punto di vista delle prestazioni e quindi è in corso una revisione architettonica.
Ora per le mie domande:
Architettonicamente l'ESB deve pubblicare eventi in un DB e leggere dal DB quali utenti desiderano essere avvisati, quindi spingere l'evento sulle loro rispettive code.
C'è una grande quantità di interazione con il DB e la domanda è se ESB dovrebbe avere una tale quantità di interazione con il DB in primo luogo ? O dovrebbe esserci stata qualche componente alternativa responsabile di questo.
In alternativa esiste un approccio non DB in cui possiamo archiviare gli eventi e gli abbonati ? In quale altro luogo possono essere contenuti i dati di questa applicazione all'interno del contesto ESB?