Size: a a a

2020 May 10

E

Evgeniy ♎️ in Java & Co
Роман Нагаев
да я понимаю, что асинхронность никуда не денется и я знаю что сахара типа async/await в джаве нет

но в тоже время я сталкиваюсь с проблемами которые мне мешают, вплоть до того что у меня абстракция сыпется
1) коллбек хелл
2) необходимость использовать CompletableFuture в методах находящихся выше в стеке вызовов и соответственно агрегировать фьючи если нужно
3) привязка к CompletableFuture в контрактах бинов

вот и пытаюсь выяснить, может есть способ получше или все также как и я коллбеки фигачат
Вам надо котлин. У нас ребята как раз перешли на Котлин из-за вот этого всего что вы описываете.
Пока вроде довольны.
Однако как по мне вы целиком всё переусложняете
источник

MG

Max Grigoriev in Java & Co
Роман Нагаев
я понял тебя, меня беспокоит не неподходящая реализация монады и не отсутствие понимания реактивщины

меня беспокоит что из-за особенностей архитектуры которую я выбрал для своего бизнес-процесса, у меня на одном слое оказалась целая куча разворачиваний фьюч и у меня к зависимостям между этапами бизнес-процесса добавились фьючи на которые я должен подписываться. всё вместе выглядит слишком сложно, пытаюсь искать способы упростить
так зачем добавлял асинк на слое с ДБ?
источник

РН

Роман Нагаев... in Java & Co
Max Grigoriev
так зачем добавлял асинк на слое с ДБ?
он был до меня
источник

E

Evgeniy ♎️ in Java & Co
Роман Нагаев
он был до меня
Так зафикси)
источник

MG

Max Grigoriev in Java & Co
значит и бизнес код как то с ним работал?
источник

РН

Роман Нагаев... in Java & Co
Evgeniy ♎️
Вам надо котлин. У нас ребята как раз перешли на Котлин из-за вот этого всего что вы описываете.
Пока вроде довольны.
Однако как по мне вы целиком всё переусложняете
задумался о котлине когда понял что нужны корутины)
но не в этот раз
источник

E

Evgeniy ♎️ in Java & Co
Избавь себя от геммороя.
Всегда удивляла тяга к асинхронному ,когда по факту можно подряд синхронно
источник

РН

Роман Нагаев... in Java & Co
Evgeniy ♎️
Так зафикси)
их использую не только я) и оно там нужно
источник

РН

Роман Нагаев... in Java & Co
Max Grigoriev
значит и бизнес код как то с ним работал?
и сейчас работает, просто я пишу другой код для другой задачи, но переиспользую те же репозитории
источник

MG

Max Grigoriev in Java & Co
Evgeniy ♎️
Избавь себя от геммороя.
Всегда удивляла тяга к асинхронному ,когда по факту можно подряд синхронно
как по мне то можно подряд это когда у тебя или денег куча что подымаешь куча инстансов для обслудивания кучи потоков. или когда у тебя нагрузка  1 запрос в секунду. а ну еще если что то хитрое где не ИО нагрузка
источник

MG

Max Grigoriev in Java & Co
Роман Нагаев
и сейчас работает, просто я пишу другой код для другой задачи, но переиспользую те же репозитории
так пиши все в реактивном стиле и получай плюшки от этого.
источник

РН

Роман Нагаев... in Java & Co
Max Grigoriev
так пиши все в реактивном стиле и получай плюшки от этого.
вот там это хорошо работает, так как рест апи, а у меня etl, и из-за большого количества зависящих друг от друга операций это и скатывается в ад коллбеков и ад зависимостей которые хрен декомпозируешь
источник

РН

Роман Нагаев... in Java & Co
в результате, у меня из etl вытекает pipeline c потоками сообщеий который отображает абстракцию для декомпозиции etl процесса а из асинхронщины прилетает ещё и поток данных который отображает абстракцию асинхронных задач, который не совпадает по структуре с потоком сообщений но при этом очень сильно с ним связан
источник

MG

Max Grigoriev in Java & Co
как по то етл наоборот отлично подходит для твоих целей.
источник

MG

Max Grigoriev in Java & Co
и backpressure с коробки и потоковая обработка
источник

MG

Max Grigoriev in Java & Co
так что мне кажется у тебя просто архитектура накрученая. но это лишь чувство. поэтому не хочется асинхронщины так просто получай результат и жди когда будет ответ  да и не парься. потом прийдет на твое место кто то другой и будет расказывать какой ты криворукий что взял асинхроные репозитории и повсюду блоки повесил :))))
источник

E

Evgeniy ♎️ in Java & Co
Max Grigoriev
как по мне то можно подряд это когда у тебя или денег куча что подымаешь куча инстансов для обслудивания кучи потоков. или когда у тебя нагрузка  1 запрос в секунду. а ну еще если что то хитрое где не ИО нагрузка
А вот интересный момент
Что дешевле - пару инстансов или пару программистов, с утра до вечера(и как мы видим по выходным) пилящие сложноподдерживаемый, дорогой в обслуживании код....
источник

E

Evgeniy ♎️ in Java & Co
Сделать просто - это сложно, прям сложно
Но потом будут благодарны и в поддержке и новенькие в проекте и бизнес
источник

MG

Max Grigoriev in Java & Co
Evgeniy ♎️
А вот интересный момент
Что дешевле - пару инстансов или пару программистов, с утра до вечера(и как мы видим по выходным) пилящие сложноподдерживаемый, дорогой в обслуживании код....
а ты думаешь они пилят легко поддерживаемый код в другом случае?
источник

E

Evgeniy ♎️ in Java & Co
Max Grigoriev
а ты думаешь они пилят легко поддерживаемый код в другом случае?
Врядли)
источник