Задать вопрос
@ivankn_bel

Как правильно спроектировать микросервисную архитектуру?

У меня планируется программа, которая имеет три части и общается с БД.

БД будет иметь следующее:

1) Информация о месте
2) Связанные места
3) Количество объектов сейчас
4) Количество объектов обычно

Первая часть - нейронка, которая вычисляет количество объектов на фото (выполняет запрос куда-то в другое приложение по определённому адресу) и отправляет их на сервер. Вторая часть - сервер, который обрабатывает приход информации от других ПО, чтобы можно было обращаться к моей проге и выдавать ответы. Эта же часть выполняет получение данных от первой части, для каждого пункта. , ну и после получения инфы о количестве объектов выполняет вычисления, после которых выполняет отправку нужных данных на чужую прогу, а также сохраняет данные в бд. Третья часть - веб-приложение, который выводит информацию про место, показывает данные о связных местах, количество объектов сейчас.
То есть первая часть просто должна запросить данные со стороны, обработать их и отправлять на сервер данные, а также id камеры, а камера будет уже привязана в бд к конкретному месту, поэтому сервер будет понимать, для какого места пришла информация. и первому сервису бд не нужна. Нейронка будет на Python (Мб сделаю на Java, но это решаемо). Вторая часть - выполняет много запросов в БД, как select, так и set, выполняет различные вычисления с обращением к бд. Сервер будет на Java Spring Третья должна выводить информацию о месте с обновлениями, потому что каждые 6 секунд данные о конкретном месте изменяются. Там на моей третьей части будет rest с fetch api js.
Я хочу правильно построить архитектуру, в идеале микросервисную. То есть сделать три микросервиса, там докер и всякое такое намутить. Но сам я никогда не проектировал микросервисную архитектуру. А сам слышал правило, что самостоятельно новичкам лучше этого не делать. Поэтому хотел бы узнать, как правильно организовать бд для них?
Ещё я слышал, что по правилам у каждого миркосервиса есть должна быть своя бд. Тут же у меня есть микросервис, который занимается своим делом и просто отправляет данные на сервер. Главная вторая часть, которая выполняет вычисления и всякое такое, с обращением к бд. Есть rest часть, которая получает данные из бд и общается с клиентом (на сайте там будет html, css,js), И поэтому хотел бы узнать, как правильно стоит спроектировать три эти части? Чтобы они могли спокойно общаться, архитектура была по канонам и чтобы на защите диплома никто не придрался?
  • Вопрос задан
  • 86 просмотров
Подписаться 1 Простой 7 комментариев
Пригласить эксперта
Ответы на вопрос 1
VoidVolker
@VoidVolker
Dark side eye. А у нас печеньки! А у вас?
Правильно для чего именно? Прежде, чем что-то проектировать надо определиться с конкретными требованиями вашей задачи. И уже исходя из требований и ограничений проектировать архитектуру и прочее. Если требования неизвестны, то делается минимальный прототип, испытывается, результат записывается, анализируется и делаются какие-то выводы. При отсутствии результата - прототип допиливается до MVP и так далее. И вот уже по этим выводам принимаются какие-то решения - сделать другую архитектуру, изменить что-то в текущей архитектуре, как-то её дополнить/доработать или оставить как есть.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы