Этот проект является примером архитектуры микросервисов на основе GRPC, которая использует MongoDB в качестве базы данных и интегрирован с мобильным приложением Flutter.
Проект состоит из следующих компонентов:
Этот микросервис содержит функции, которые помогают отправлять и проверять номера телефонов с использованием одноразового пароля (OTP), эта служба реализована с использованием Rust & Twilio .
Этот микросервис отвечает за обработку требований к уведомлению о Push и написано в Golang .
Этот микросервис отвечает за обработку загрузки и преобразования медиа -файлов с использованием cloudinary и написанного в Golang .
Этот микросервис отвечает за обработку аутентификации и авторизации пользователей (написано в Rust ).
Этот микросервис содержит общие функции, которые используются в разных модулях системы. Он включает в себя функциональные возможности, такие как загрузка файлов, уведомления по электронной почте и аутентификация (написанная в Golang ).
Этот микросервис служит основой приложения и содержит бизнес -логику системы. Он обеспечивает операции CRUD (создать, прочитать, обновить, удалить) на данные, связанные с основными объектами системы (написанные в Golang ).
Это мобильное приложение на основе трепета, которое взаимодействует с микросервисами для выполнения различных операций, таких как просмотр данных, создание новых объектов и обновление существующих.
На следующей диаграмме показана архитектура высокого уровня системы:
Три микросервиса не зависят друг от друга и общаются с использованием протокола GRPC. Мобильное приложение связывается с микросервисами, используя тот же протокол.
Все три микросервиса интегрированы с MongoDB в качестве базы данных. MongoDB-это база данных на основе документов NOSQL, которая обеспечивает высокую производительность и масштабируемость.
Используйте мобильное приложение для взаимодействия с системой.
Используйте клиент GRPC, такой как GRPCurl или BloomRPC, чтобы напрямую взаимодействовать с микросервисами.
Этот проект дает пример того, как создать масштабируемую и модульную архитектуру микросервисов с использованием GRPC и MongoDB. Он также демонстрирует, как интегрировать мобильное приложение Flutter с микросервисами, чтобы обеспечить бесшовный пользовательский опыт.