Микросервисная архитектура с нод-экспрессом - PullRequest
2 голосов
/ 19 июня 2019

Я планирую использовать микросервисную архитектуру в своем проекте с node-express, и этот термин для меня новый.

Я исследовал это и узнал, что каждый независимый модуль можно рассматривать как микросервис, имеющий отдельную базу данных, в настоящее время мой проект имеет одну и ту же базу данных для всего модуля, рассмотрим схему ниже:

Текущая архитектура:

enter image description here

Все модули (учащиеся, школа, факультеты) совместно используют одну и ту же БД, и нам всегда нужны данные одной таблицы модулей в другой модуль.

Архитектура микросервисов: enter image description here

Теперь проблема начинается так, что у нас должна быть отдельная БД, не можем ли мы сделать три виртуальные разные БД в одной БД?

ОК, если я создаю три отдельные БД, так что я могу сопоставить одну микросервисную БД с другой микросервисной для извлечения и вставки данных, и скорость выполнения все равно будет повышаться (поскольку я прочитал, что выполнение отдельных мс с БД повышает вашу скорость выполнения) по сравнению с к текущему сценарию, где я разделяю одну и ту же БД и извлекаю данные из таблиц во всех модулях?

У меня также один вопрос, что у такого большого продукта, как OLA, Netflix, Twitter, как они работают с микросервисами, если у них разные БД, и когда они хотят отобразить одну микросервисную БД в другую микросервис?

Пожалуйста, помогите мне.

Ответы [ 2 ]

1 голос
/ 19 июня 2019

Я думаю, что нет необходимости иметь разные базы данных для всех этих модулей, а иметь каждый собственный REST API, который связывается с одной и той же базой данных.

См. Этот ответ: stackoverflow.com / a / 45421864/7970942

Надеюсь, это поможет! :)

1 голос
/ 19 июня 2019

Микросервисы - также известные как архитектура микросервисов - это архитектурный стиль, который структурирует приложение как совокупность сервисов, которые

с высокой степенью обслуживания и проверкой Слабосвязанное Независимое развертывание Организовано вокруг бизнес-возможностей.Микросервисная архитектура обеспечивает непрерывную доставку / развертывание больших сложных приложений.Это также позволяет организации развивать свой технологический стек.

Из приведенного выше объяснения предполагается, что инфраструктура создается в разных разделах, поэтому, когда необходимо масштабировать часть всей архитектуры, это можно сделать независимо. Нам не нужно вмешиваться в другие службы. Такжеесли служба не работает, все приложение не закрывается.Из вашего примера, если вы создадите виртуальную базу данных в той же базе данных, и если база данных выйдет из строя, все приложение будет закрыто.Принимая во внимание, что если вы развернете базы данных отдельно, если школьная база данных выйдет из строя, то другая база данных будет работать с запущенными там сервисами.А также сервисы не должны использовать базы данных других сервисов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...