Si spera che il titolo non sia dolorosamente oscuro, ma come indica, sono davvero alla ricerca di consigli sulla mia proposta di architettura, poiché l'architettura attuale è soggetta a problemi di concorrenza, problemi di prestazioni e dettata da software di terze parti.
La piattaforma è essenzialmente un pattern Micro-Service ingenuo seguito dall'accesso in modalità Multi-Tenant.
Abbiamo un'API di base che inserisce i dati principali, ma i dati principali devono essere complimentati da altri dati, in questo esempio: Assets
, C1
e C2
.
Ora l'idea è di inserire i dati di base, quindi pubblicare in una coda, ogni modulo deve essere sottoscritto, complimentare i dati e quindi pubblicare nuovamente nella coda, che viene quindi sottoscritta tramite gli altri moduli in sequenza. A quel punto tutti i dati sono complimentati dando un set completo di dati, che poi viene infine sottoscritto tramite l'ultimo modulo, che poi fa un po 'di magia super-uber e restituito.
Ci aspettiamo un volume di migliaia di richieste e probabilmente milioni a tempo debito. Le prestazioni / velocità sono assolutamente vitali ma più prestazioni. Limitazione dei timeout e del tempo di attesa, è anche vitale e può essere raggiunta tramite attività parallele / in background. È il volume di throughput che ha la priorità più alta.
Domande:
- Questa architettura è fattibile?
- La tecnologia basata su accodamento può / può contenere la capacità di pubblicare, sottoscrivere gli stessi dati in modo sequenziale fino a quando tali dati sono ritenuti completi? ogni volta che riceviamo i dati complimentare i dati e respingere pubblicando