sql >> Databasteknik >  >> NoSQL >> Redis

Microservices Architecture för mycket frekvent dataåtkomst; i minneslösningar?

Nu diskuterar vi en mikrotjänstarkitektur för problemet, på grund av den nödvändiga skalbarheten för applikationen i produktionen. Även för utvecklingsändamål är detta avgörande, eftersom Task1 och Task2 nyligen har lagts till nya funktioner/parametrar och skalas olika i utvecklingen.

Det är precis vad en strömbehandlingsplattform gör bra. Jag rekommenderar att du använder ett system som Apache Kafka eller Apache Pulsar för detta problem.

Bör det finnas minst två olika tjänster för Task1 och Task2 och kanske till och med en för den faktiska iterations-/simuleringstillståndskontrollen?

Task1 och Task2 är vad som kallas strömprocessorer , de läser (prenumererar på) ett ämne , gör några operationer/transformationer och skriver (publicerar) till ett annat ämne .

Huvudfrågan här är vad är argumenten för en mikrotjänstarkitektur på grund av förmodligen kommunikations-/nätverksflaskhals? Det enda sättet att påskynda detta är att skapa all nödvändig data för simuleringsuppgiften i minnet och hålla den där hela tiden, för att undvika nätverkets flaskhals?

Återigen, detta är exakt problemet som ett system som Apache Kafka eller Apache Pulsar gör bra. Att skala skriver och läser i ett strömbehandlingssystem kan du partitionera dina ämnen .



  1. Få unix tidsstämpel på några sekunder från MongoDB ISODate under aggregering

  2. (nod:3341) DeprecationWarning:Mongoose:mpromise

  3. Vill inte behöva börja mongod med `sudo mongod`

  4. MongoDB $ln