170 похожих чатов

Есть около 300 различных независимых друг от друга сервисов,

выполняющих несложную логику (в основном, обработка форм и передача данных в/из внешних систем). Необходимо реализовать их на Java и Spring Boot.

Проблема: если придерживаться классического монолита, при изменении одного сервиса потребуется перезапуск всего приложения (зная производительность бута при запуске, загрузка 300 модулей будет занимать очень много времени.) То же, вероятно, и при компиляции.

Варианты:

- Микросервисы
- Инструменты для hotswap, JRebel, например
- ???

11 ответов

9 просмотров

Странный вопрос, на самом деле. Если сервисы уже есть и независимые, то зачем переписывать их на бут и тем более объединять в монолит?

Denis- Автор вопроса
Dmitry 𝔇𝔪𝔦𝔱𝔯𝔶
Странный вопрос, на самом деле. Если сервисы уже е...

Они сейчас реализованы на другом языке, возникла необходимость переписать их на джаве. В силу интерпретируемости PHP эта проблема неактуальна, на джаве все сложнее

Denis
Они сейчас реализованы на другом языке, возникла н...

Основное преимущество микросервисов - это как раз то, что их можно переписывать независимо друг от друга. Скажем, есть несколько наиболее нагруженных сервисов, начните с них, может остальные и не понадобится трогать

Denis- Автор вопроса
Dmitry 𝔇𝔪𝔦𝔱𝔯𝔶
Основное преимущество микросервисов - это как раз ...

Да, но такое количество микросервисов будет довольно трудно сопровождать, и у нас сейчас нет достаточных ресурсов для этого. Микросервисы - это крайний вариант, за неимением достойных альтернатив

Denis
Да, но такое количество микросервисов будет доволь...

Переписывать монолит с пхп на монолит на жабе - это точно не достойная альтернатива

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

Denis- Автор вопроса
Dmitry 𝔇𝔪𝔦𝔱𝔯𝔶
Переписывать монолит с пхп на монолит на жабе - эт...

Это понятно. Я рассматриваю целесообразность этой миграции, и наличие возможных вариантов новой реализации

Denis- Автор вопроса
Denis Pavlyuchenko
еще. как довольно необычный вариант - реализовыват...

Есть довольно крупные модули. На груви будет довольно сложно

Denis
Это понятно. Я рассматриваю целесообразность этой ...

В первую очередь нужно понять зачем это нужно. Сервисы не справляются с нагрузкой? Пхпшники внезапно закончились?(сомневаюсь)

Denis- Автор вопроса
Dmitry 𝔇𝔪𝔦𝔱𝔯𝔶
В первую очередь нужно понять зачем это нужно. Сер...

Корпоративные ограничения. В компании не легализован php, для установки в бой нужна джава

Denis
Есть довольно крупные модули. На груви будет довол...

У меня ощущение, что ищется не решение, а отговорки. Это будет долго, больно и дорого, какую бы архитектуру вы не применяли. Считайте время, деньги и скиллы разработчиков. Другие советы - из разряда благих пожеланий. Или купите готовое решение 🙂

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

Обсуждают сегодня

Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
63
Хотел бы спросить у знающих, правильную ли я выбрал книгу для начала изучения ассемблера Юрова В.И ? Или есть более лучшие книги для начала обучения?
Botsman
25
Книга Юрова В.И пойдёт для обучения?
Botsman
24
Люди добрые, помогите с идеями, потому что свои закончились. У клиента падает софтина в момент инициализации модуля OtlEventMonitor на RegisterWindowMessage('Gp/OtlTaskEvents/...
Михаил Усков
7
$params = [ 'formid' => 'feedbackForm', 'formTpl' => '@CODE: <form class="form-validate" data-id="ajax_form"> <fieldset class="margin-bottom-md"> ...
Pathologic
1
> Примечательно, что новый владелец удаляет из GitHub любые жалобы, указывающие на подозрительную активность или смену владельца, и, видимо, рассчитывает на то, что пользовате...
Alex Sherbakov
2
GridView fully ignored first parent(SizedBox), and take width from second parent(Container). How can I constrain GridView by first parent? Widget build(BuildContext context) {...
Hamster
1
Hey there Which is the best Linux destro for developers (coding)? To my research on reddit, they said Linux mint is good for mid level spec and Ubuntu for high Lev hardwar...
Wiz 🪄
11
Подскажите пожалуйста, а я могу вот такую штуку использовать? rpc, только реализованное в реббите https://www.rabbitmq.com/tutorials/tutorial-six-php ( или https://habr.com/ru...
Artyom
11
И ещё вопрос: можно ли типа как на дос как-то запариться и с помощью прерываний выводить текст, вместо функции printf ?
НѣкъиⰘижєжєиꙁъвьсєсвѣтьноѣсѣтиѥсть•
34
Карта сайта