Dieses Projekt ist ein Beispiel für eine GRPC-basierte Microservices-Architektur, die MongoDB als Datenbank verwendet und in eine mobile Flutter-Anwendung integriert ist.
Das Projekt besteht aus den folgenden Komponenten:
Dieser Microservice enthält Funktionen, die beim Senden und Überprüfen von Telefonnummern mithilfe von One-Time-Passwort (OTP) helfen. Dieser Dienst wird mit Rust & Twilio implementiert.
Dieser Microservice ist für den Umgang mit Push -Benachrichtigungsanforderungen des Systems verantwortlich und in Golang geschrieben.
Dieser Microservice ist für den Umgang mit dem Hochladen und Transformation von Mediendateien mit cloudinary und geschrieben in Golang verantwortlich.
Dieser Microservice ist für die Behandlung der Benutzerauthentifizierung und Autorisierung (in Rust ) verantwortlich.
Dieser Microservice enthält gemeinsame Funktionalitäten, die über verschiedene Module des Systems geteilt werden. Es enthält Funktionen wie Datei -Uploads, E -Mail -Benachrichtigungen und Authentifizierung (in Golang geschrieben).
Dieser Microservice dient als Rückgrat der Anwendung und enthält die Geschäftslogik des Systems. Es bietet CRUD (erstellen, lesen, aktualisieren, löschen) Vorgänge für Daten in Bezug auf die Kerneinheiten des Systems (geschrieben in Golang ).
Dies ist eine flutterbasierte mobile Anwendung, die mit den Microservices interagiert, um verschiedene Vorgänge wie das Anzeigen von Daten, das Erstellen neuer Entitäten und die Aktualisierung vorhandener Vorgänge zu interagieren.
Das folgende Diagramm zeigt die hochrangige Architektur des Systems:
Die drei Mikrodienste sind unabhängig voneinander und kommunizieren mit dem GRPC -Protokoll. Die mobile Anwendung kommuniziert mit den Microservices mit demselben Protokoll.
Alle drei Microservices sind in MongoDB als Datenbank integriert. MongoDB ist eine auf NoSQL dokumentbasierte Datenbank, die eine hohe Leistung und Skalierbarkeit bietet.
Verwenden Sie die mobile Anwendung, um mit dem System zu interagieren.
Verwenden Sie einen GRPC -Client wie GRPCURL oder BLOOMRPC, um direkt mit den Microservices zu interagieren.
Dieses Projekt bietet ein Beispiel dafür, wie man eine skalierbare und modulare Mikrodienste mit GRPC und MongoDB erstellt. Es zeigt auch, wie eine flutter -mobile Anwendung in die Microservices integriert wird, um ein nahtloses Benutzererlebnis zu bieten.