Я создаю веб-приложение Java, которое прогнозирует цену биткойнов. У меня есть 3 важные части:
- Веб-стек (Spring + Thymeleaf + Hibernate)
- Часть, которая анализирует API и сохраняет цены BTC в базе данных
- Модель машинного обучения, которая берет данные из базы данных и автоматически обновляется.
Теперь эти детали в одной банке хранятся в разных упаковках. Я чувствую, что они совершенно разные, и хранить их в разных пакетах недостаточно!
Я считаю, что они должны быть как-то независимы: например, если есть внутренняя ошибка сервера, я не хочу отключать самооптимизацию модели машинного обучения только для того, чтобы посмотреть, что случилось с Tomcat.
Моя бизнес-логика должна работать непрерывно, и каждая часть должна работать независимо от любых частей, которые ей не нужны. Может, они должны быть в трех разных баночках? У кого-нибудь был опыт работы с этим? Или, может быть, кто-то знает, как разделяются разные логические части в большом корпоративном проекте?