powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Архитектура приложения на spring
35 сообщений из 35, показаны все 2 страниц
Архитектура приложения на spring
    #40099742
selis76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.
Хочу ознакомится со Spring https://projects.spring.io/spring-roo/ в рамках следующей задачи.
Задача
Есть операции\документы которые идут из шины Rabbit в Xml, сообщения сначала сохраняются в буфер далее Parsing и перекладываются в реляционную базу данных . Ключевым в данной задаче является маштабирование приложения на несколько серверов (параллельная обработка пакетов документов) поскольку оно high load .
Из интерфейса простая админ консоль
С точки зрения Java EE реализация понятна, а вот документации Spring не нашел никаких архитектурных концепций
Есть ли где то внятное описание по построению high load приложений на Spring
https://projects.spring.io/spring-roo/ в основном их концепции разработки а не архитектура?
...
Рейтинг: 0 / 0
Архитектура приложения на spring
    #40099747
selis76Хочу ознакомится со Spring https://projects.spring.io/spring-roo/ в рамках следующей задачи.Вот это ты откопал реликвию :) Это мертворожденный проект.
selis76С точки зрения Java EE реализация понятна, а вот документации Spring не нашел никаких архитектурных концепцийА что понятно с точки зрения Java EE? Spring особо архитектуру не диктует. Как в общем-то и Java EE. Так что если понятно как это на Java EE сделать, то наверно должно быть понятно как и вне его делать.
...
Рейтинг: 0 / 0
Архитектура приложения на spring
    #40099757
selis76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev>Spring особо архитектуру не диктует. Как в общем-то и Java EE.

Ок хорошо архитектуру в Java EE диктуют официальные курсы типа
"Java EE 7: Back-End Server Application Development" для java beans.
У сприга своя концепция контейнеров и бинов и набор аннотаций, означает что у них должен быть свой best practice \ patterns для high load приложений. Хотелось бы об этом почитать ? Но поиски spring high load ничего не дают, только про мелкий тюнинг.
Возможно разработчики spring в принципе на High load не закладывались поэтому эта тема обходится стороной.
...
Рейтинг: 0 / 0
Архитектура приложения на spring
    #40099760
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
selis76,
Может начать с термина "высоконагруженное приложение?".
С чего вы взяли что горизонтальное масштабирование это золотая пуля и все для вас решит?
...
Рейтинг: 0 / 0
Архитектура приложения на spring
    #40099764
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
selis76
поиски spring high load ничего не дают,
потому что это опыт.
А вы хотите экстерном пропустив hello world говорить про шины ESB и интеграционные платформы
...
Рейтинг: 0 / 0
Архитектура приложения на spring
    #40099789
selis76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
selis76,
Может начать с термина "высоконагруженное приложение?".
С чего вы взяли что горизонтальное масштабирование это золотая пуля и все для вас решит?

Потому что это опыт.
PetroNotC - если бы я хотел порассуждать на тему https://www.section.io/blog/scaling-horizontally-vs-vertically/
то набросал бы на вентилятор всем желающим.
А так у меня маленький конкретный вопрос по документации. А еще проще хочу понять - Spring экосистема со своими ++ подходит для этой задачи или нет.
...
Рейтинг: 0 / 0
Архитектура приложения на spring
    #40099800
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
selis76,
А где ЗАДАЧА?
Высокая нагрузка это расплывчатый термин.
А слова "экосистема" вообще от менеджера.
...
Рейтинг: 0 / 0
Архитектура приложения на spring
    #40099908
SpringMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
selis76,

Спринг - это средство для упорядочивания и упрощения структуры кода. Структура кода и архитектура систем - это разные вещи. Поэтому вопрос "Есть ли где то внятное описание по построению high load приложений на Spring" звучит не лучше чем "Я форматирую код через табы, а не пробелы. Есть ли внятное описание по построению high load приложений с табами". Ладно, звучит лучше, но суть думаю ясна
В spring есть средства для удобной работы и с rabitmq, с базами данных и еще куча готовых решений для упрощения работы. Первично надо понять, что вы хотите конкретно сделать, а потом понять упростит ли работу с этим spring или нет
...
Рейтинг: 0 / 0
Архитектура приложения на spring
    #40099933
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan,
+1
Тут один профи говорил.
Спринг - это клей.
Аффтар,
Дак в чем ваш вопрос для клея?
)))
...
Рейтинг: 0 / 0
Архитектура приложения на spring
    #40099939
selis76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan
selis76,

Спринг - это средство для упорядочивания и упрощения структуры кода. Структура кода и архитектура систем - это разные вещи. Поэтому вопрос "Есть ли где то внятное описание по построению high load приложений на Spring" звучит не лучше чем "Я форматирую код через табы, а не пробелы. Есть ли внятное описание по построению high load приложений с табами". Ладно, звучит лучше, но суть думаю ясна
В spring есть средства для удобной работы и с rabitmq, с базами данных и еще куча готовых решений для упрощения работы. Первично надо понять, что вы хотите конкретно сделать, а потом понять упростит ли работу с этим spring или нет


Т.е. они понаделали столько Spring Cloud, Spring data ради "упорядочивания и упрощения структуры кода" так что их документация это отдельная область знаний . Да в современном мире все бывает.
...
Рейтинг: 0 / 0
Архитектура приложения на spring
    #40099947
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
selis76,
Spring Cloud это конкретное облако. Его пощупать можно.
Spring Data тоже конкретика.
А вот ваш впрос это бла бла бла
...
Рейтинг: 0 / 0
Архитектура приложения на spring
    #40099956
SpringMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
selis76

Т.е. они понаделали столько Spring Cloud, Spring data ради "упорядочивания и упрощения структуры кода" так что их документация это отдельная область знаний . Да в современном мире все бывает.

Еще что немаловажно это уменьшение количества технического кода. Обычно документацию спринга всю подряд никто и не читает. Обычно ищут решение конкретной проблемы. Задача "писать из rabbit mq в базу" это слишком общая постановка - непонятно какие кокретно у вас там узкие места (а их может быть много, а может и не быть вообще). Может достаточно просто написать сервис, который сохраняет из очереди в базу, и разложить его на несколько машин
...
Рейтинг: 0 / 0
Архитектура приложения на spring
    #40099965
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan,
угу.
Учитывая что Rabbit поддерживает кластеры и сам имеет свою БД.
То есть уже есть из коробки масштабирование.
Вот оно - high load))
...
Рейтинг: 0 / 0
Архитектура приложения на spring
    #40100002
selis76
Stanislav Bashkyrtsev>Spring особо архитектуру не диктует. Как в общем-то и Java EE.

Ок хорошо архитектуру в Java EE диктуют официальные курсы типа
"Java EE 7: Back-End Server Application Development" для java beans.Но там же нет ничего про high load? Вот и в спринге нет. High load - это ортогонально EE, Spring'ам. Это то как ты настраиваешь app server'a и как ты пишешь свой код.
...
Рейтинг: 0 / 0
Архитектура приложения на spring
    #40100004
selis76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan
....Задача "писать из rabbit mq в базу" это слишком общая постановка - непонятно какие кокретно у вас там узкие места (а их может быть много, а может и не быть вообще). Может достаточно просто написать сервис, который сохраняет из очереди в базу, и разложить его на несколько машин


Постановка может быть общей но достаточной для построения архитектуры. Все зависит от разрезов анализа через которые проходит любая! задача по разработке у Вас в голове. Это в голове либо есть либо нет и поэтому
PetroNotC Sharp ждет ЗАДАЧУ
. Я использую около 10 .
Если применить 2 - обработка ошибок и логгирование.
"сервис, который сохраняет из очереди в базу, и разложить его на несколько машин["
Плохое решение.
Напр произошла ошибка - прикладная и техническая. Что будете делать? Оба сервиса независимо ее обработают и попытаются записать один и тот же пакет операций повторно?
А логи мы будем по разным машинам отдельно собирать?
И наконец без диспетчера делить операции на пакеты трудновато
Получается придется выделять диспетчера который управляет загрузкой на разных машинах. А если диспетчер то чтото просто разложить уже не получается
А узкие места тоже ясны это всегда будет субд для такой задачи
...
Рейтинг: 0 / 0
Архитектура приложения на spring
    #40100011
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
selis76,
Извини.
Ты кто по должности в этом топике?
Постановщик пишет ТЗ по ГОСТ. Ты не захотел.
Архитектор знает java. Ты вроде не знаешь.
Кроме того здесь программисты и любят топики с кодом.
Постановщики сидят в ветке "Разработка ИС.
Давай код что ли.
...
Рейтинг: 0 / 0
Архитектура приложения на spring
    #40100033
ra-001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
selis76Добрый день.
Хочу ознакомится со Spring....

С точки зрения Java EE реализация понятна, а вот документации Spring не нашел никаких архитектурных концепций
Есть ли где то внятное описание по построению high load приложений на Springтебе нужно искать подсказки отностительно deployment-a.
Java EE - ceрвер куда деплоится приложение, хотя и Java EE сервер можно засунуть в контейнер, String не платформа для деплоймента. Наверное надо выбрать облака из нескольких возможных.
...
Рейтинг: 0 / 0
Архитектура приложения на spring
    #40100063
selis76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ra-001
тебе нужно искать подсказки отностительно deployment-a.
Java EE - ceрвер куда деплоится приложение, хотя и Java EE сервер можно засунуть в контейнер, String не платформа для деплоймента. Наверное надо выбрать облака из нескольких возможных.

Спасибо посмотрю
...
Рейтинг: 0 / 0
Архитектура приложения на spring
    #40100065
selis76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>PetroNotC Sharp
Постановка для ответа на конкретный вопрос по документации в топике достаточна.
...
Рейтинг: 0 / 0
Архитектура приложения на spring
    #40100085
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
selis76
>PetroNotC Sharp
Постановка для ответа на конкретный вопрос по документации в топике достаточна.
а мы тут не для тебя пишем.
Вопрос публичный. Чтобы другие не делали как ты.
...
Рейтинг: 0 / 0
Архитектура приложения на spring
    #40100097
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
selis76
Хочу ознакомится со Spring https://projects.spring.io/spring-roo/ в рамках следующей задачи.

Ключевым в данной задаче является маштабирование приложения на несколько серверов (параллельная обработка пакетов документов) поскольку оно high load .

Так нельзя ставить задачу. Если ты хочешь изучать Spring - изучай.

Если тебе нужно сделать масштабирование - то это другие усилия в другом перпендикулярном направлении.
Их можно делать со Spring или без Spring но важно поставить приоритеты.

С точки зрения Java EE реализация понятна, а вот документации Spring не нашел никаких архитектурных концепций
Мне просто интересно а что ты вообеще хотел найти?
Шаблон параллельной обработки документов?
...
Рейтинг: 0 / 0
Архитектура приложения на spring
    #40100132
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
selis76
Добрый день.
Есть ли где то внятное описание по построению high load приложений на Spring
https://projects.spring.io/spring-roo/ в основном их концепции разработки а не архитектура?


Есть... только для Spring-Boot и с использованием kuberntes + docker. :-)
...
Рейтинг: 0 / 0
Архитектура приложения на spring
    #40100134
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul,
Угу.
Только не надо делать синонимы из слов Микросервисы и высоконагруженные)
...
Рейтинг: 0 / 0
Архитектура приложения на spring
    #40100246
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот я-бы рассмотрел эту задачу в вакууме (pure-java)

Есть операции\документы которые идут из шины Rabbit в Xml, сообщения сначала сохраняются в буфер далее Parsing и перекладываются в реляционную базу данных . Ключевым в данной задаче является маштабирование приложения на несколько серверов (параллельная обработка пакетов документов) поскольку оно high load .


и подумал что здесь собственно параллелится? Чтение из Rabbit MQ (вряд-ли)?
Parsing - эээ... скорее всегда да. Это будет идеальный параллелизм по Амдалу если
у нас на входе 1 документ и на выходе 1 независимый документ. Или россыпь data-rows
которые независимы.

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

Тоесть я-бы предложил проговорить эти вопросы. Сделать макет на pure-java или можете с любым фреймворков.

А потом уже сделать Spring как связующий цемент для компонентов. Просто я не хочу чтобы интересные
и сложные вопросы мультипоточки и декомпозиции XML документов на атомы с загрузкой в БД были просто
"заболтаны" под слоем всяких SpringData/Orm и прочей чепухи которая пока что несет смысл косметический
а не перформансный.
...
Рейтинг: 0 / 0
Архитектура приложения на spring
    #40100252
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan
selis76,

Спринг - это средство для упорядочивания и упрощения структуры кода.

Вот оно как оказывается, а я всегда думал наоборот. :)
...
Рейтинг: 0 / 0
Архитектура приложения на spring
    #40100376
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mad_nazgul,
Угу.
Только не надо делать синонимы из слов Микросервисы и высоконагруженные)


Stateless и горизонтальное масштабирование. Не?!
<:o)
...
Рейтинг: 0 / 0
Архитектура приложения на spring
    #40100400
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul,
А если тонкое место в субд?
Например, не успевает записывать?
А если тонкое место в консолидации данных? Например, нужно перед записью собрать "портрет заёмщика и кредитную историю.?
То есть причем тут тогда микросервисы или JSP?
Ведь JSP тоже можно написать высоконагруженным и нет.
Например, создав сессию в оперативке повысим скорость записи в сотню раз.
Среди самолетов есть быстрые и медленные.
Среди поездов есть скорые.
Среди велосипедов есть трековые.
Аналогия понятна?
...
Рейтинг: 0 / 0
Архитектура приложения на spring
    #40100408
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul
PetroNotC Sharp
mad_nazgul,
Угу.
Только не надо делать синонимы из слов Микросервисы и высоконагруженные)


Stateless и горизонтальное масштабирование. Не?!
<:o)

2 all.

Я-бы всё таки различал high-load и горизонтальное мастабирование. Мне кажется что одно из другого не вытекает.

Приведу примеры. Spark/Hadoop - горизонтально мастабируется но работает в импульсном режиме. Отработал запрос
и дальше - делать нечего. Это не highload. Хайлоад вообще предполагает постоянную загрузку железа на 100%
возможностей. Пока делать нечего - ноды можно выкинуть или задейстовать под что-то другое. Следующий каскад
запросов в spark придет в следующем месяце когда бизнес аналитики вернутся к месячным данным.

Еще пример. Docker/Kuber кластер обеспечивает работу бизнеса в будние дни и в праздничные дни и дни маркетинг-акций
с разницей нагрузки в 1000%. Но скорость добавление новых вычислительных ресурсов в кластер - не бесконечна.
Возможно кластер должен исполнить какие-то протоколы кворумов и согласнований. Тоесть со старта "чёрной пятницы"
кластер будет испытывать какие-то переходные процессы до того как он добавит новые ноды в кластер и согласует их.
Также нужно время чтобы клиентские сессии перебалансировались на новые адреса. Тоесть хайлоад то у нас заявлен.
Но нужно время на подготовку.
...
Рейтинг: 0 / 0
Архитектура приложения на spring
    #40100418
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mad_nazgul,
А если тонкое место в субд?
Например, не успевает записывать?


И-и-и?
Для "размазывания" нагрузки есть асинхронщина и очереди.

PetroNotC Sharp

А если тонкое место в консолидации данных? Например, нужно перед записью собрать "портрет заёмщика и кредитную историю.?


Кеширование?!

PetroNotC Sharp

То есть причем тут тогда микросервисы или JSP?
Ведь JSP тоже можно написать высоконагруженным и нет.
Например, создав сессию в оперативке повысим скорость записи в сотню раз.


Тем что jsp это фронтенд, который может работать с микросервисным бакендом. :-)

PetroNotC Sharp

Среди самолетов есть быстрые и медленные.
Среди поездов есть скорые.
Среди велосипедов есть трековые.
Аналогия понятна?


Нет.
Аналогия ничего не доказывает и ничего не объясняет. ;-)
...
Рейтинг: 0 / 0
Архитектура приложения на spring
    #40100420
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
mad_nazgul
пропущено...


Stateless и горизонтальное масштабирование. Не?!
<:o)

2 all.

Я-бы всё таки различал high-load и горизонтальное мастабирование. Мне кажется что одно из другого не вытекает.



Как сказали на одной high-load конференции. High-load это про недостаток средств/ресурсов. :-)
Грубо говоря когда у вас не хватает ресурсов для обработки текущих данных.
Если вы можете нарастить мощности экстенсивно, то это не high-load.
А вот когда приходится наращивать мощности интенсивно, то это уже high-load.
<:o)
...
Рейтинг: 0 / 0
Архитектура приложения на spring
    #40100441
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul,
Не.
Текст maytona мне более понятен.
...
Рейтинг: 0 / 0
Архитектура приложения на spring
    #40100443
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul

Как сказали на одной high-load конференции. High-load это про недостаток средств/ресурсов. :-)
Грубо говоря когда у вас не хватает ресурсов для обработки текущих данных.
Если вы можете нарастить мощности экстенсивно, то это не high-load.
А вот когда приходится наращивать мощности интенсивно, то это уже high-load.
<:o)

Странное опредление. А если наращивать интенсивно невозможно? Хайлоад закончился?
...
Рейтинг: 0 / 0
Архитектура приложения на spring
    #40100540
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
mad_nazgul

Как сказали на одной high-load конференции. High-load это про недостаток средств/ресурсов. :-)
Грубо говоря когда у вас не хватает ресурсов для обработки текущих данных.
Если вы можете нарастить мощности экстенсивно, то это не high-load.
А вот когда приходится наращивать мощности интенсивно, то это уже high-load.
<:o)

Странное опредление. А если наращивать интенсивно невозможно? Хайлоад закончился?


Скорее наоборот. Если уже нельзя наращивать экстенсивно, то приходится интенсивно.
А если уже нельзя наращивать интенсивно, то все "приехали". :-)
...
Рейтинг: 0 / 0
Архитектура приложения на spring
    #40100541
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul
Тем что jsp это фронтенд, который может работать с микросервисным бакендом. :-)
блин, у тебя хотя бы обои в детской не исписаны словом микросервисы?
...
Рейтинг: 0 / 0
Архитектура приложения на spring
    #40101498
ra-001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonЕще пример. Docker/Kuber кластер обеспечивает работу бизнеса в будние дни и в праздничные дни и дни маркетинг-акций
с разницей нагрузки в 1000%. Но скорость добавление новых вычислительных ресурсов в кластер - не бесконечна.
Возможно кластер должен исполнить какие-то протоколы кворумов и согласнований. Тоесть со старта "чёрной пятницы"
кластер будет испытывать какие-то переходные процессы до того как он добавит новые ноды в кластер и согласует их.
Также нужно время чтобы клиентские сессии перебалансировались на новые адреса. Тоесть хайлоад то у нас заявлен.
Но нужно время на подготовку.Критикуешь, не опасно ?
maytonОпасно стало в наше время что-то критиковать или призывать. Покритикуешь в соц-сетях ... и потом
забанят тебя уже не в соц-сетях.
...
Рейтинг: 0 / 0
35 сообщений из 35, показаны все 2 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Архитектура приложения на spring
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]