powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Tomcat из Spring boot перестает отвечать
174 сообщений из 174, показаны все 7 страниц
Tomcat из Spring boot перестает отвечать
    #40028650
hck2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
хелп. есть 2 spring boot апликации, первая примитивно ловит рест вызовы, пишет факт вызова в базу и по рест дергает вторую аппликацию. вся логика по обработке вынесена во вторую апликацию. так вот, дня три назад, внезапно, обе апликации "подвисли" так, что томкат от спринг бута вроде коннекцию держит (telnet на порт томката коннектится), но ничего не отвечает. я рестартанул первую апликацию и констатировал что вторая тоже висит так же, хотя во второй апликации spring scheduller исправно запускал параллельные треды с задачами.
и так два раза. проверял вызовами из postman - срабатывает timeout вместо ожидаемого "Bad Request".
после этого проапгрейдил с java 14 до 15, spring boot c 2.2.1 до последнего 2.4.1. не помогло. в логе ничего интересного, в линуксовых тоже
в лог выводится INFO, наверно надо на что-то TRACE ставить. что еще можно посмотреть/сделать ? сейчас апикация стартует вот так


. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.4.1)

2020-12-17 11:34:47.011 INFO 29024 --- [ main] com.sample.bitrixgw.BitrixgwApplication : Starting BitrixgwApplication v0.1-SNAPSHOT using Java 15.0.1 on test02 with PID 29024 (/opt/webapi/bitrixgw-0.1-SNAPSHOT.jar started by root in /opt/webapi)
2020-12-17 11:34:47.015 INFO 29024 --- [ main] com.sample.bitrixgw.BitrixgwApplication : No active profile set, falling back to default profiles: default
2020-12-17 11:34:49.656 INFO 29024 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8081 (http)
2020-12-17 11:34:49.676 INFO 29024 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2020-12-17 11:34:49.676 INFO 29024 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.41]
2020-12-17 11:34:49.789 INFO 29024 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2020-12-17 11:34:49.789 INFO 29024 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2650 ms
2020-12-17 11:34:50.499 INFO 29024 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
2020-12-17 11:34:50.776 WARN 29024 --- [ main] ion$DefaultTemplateResolverConfiguration : Cannot find template location: classpath:/templates/ (please add some templates or check your Thymeleaf configuration)
2020-12-17 11:34:50.994 INFO 29024 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8081 (http) with context path ''
2020-12-17 11:34:51.022 INFO 29024 --- [ main] com.sample.bitrixgw.BitrixgwApplication : Started BitrixgwApplication in 5.209 seconds (JVM running for 6.795)
2020-12-17 11:35:09.912 INFO 29024 --- [nio-8081-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
2020-12-17 11:35:09.913 INFO 29024 --- [nio-8081-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
2020-12-17 11:35:09.915 INFO 29024 --- [nio-8081-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 2 ms
2020-12-17 11:35:09.959 WARN 29024 --- [nio-8081-exec-1] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required String parameter 'event' is not present]
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40028702
pavel_nv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
видимо тред-пул забился. В таких случаях нужно снимать thread dump через jstack
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40028703
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hck2,

Сумбур какой то.
Ну подвески. Потом перегрузите. И опять повисла или что?
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40028709
hck2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pavel_nv
видимо тред-пул забился. В таких случаях нужно снимать thread dump через jstack

спасибо, почитаю. врядли тред-пул в обоих апликациях забился разом (плюс спринг шедуллер свои задачи запускал исправно), но наверно зацепки в дампе можно будет поискать.

PetroNotC Sharp
hck2,

Сумбур какой то.
Ну подвески. Потом перегрузите. И опять повисла или что?


да, рестартанул, через пол дня "зависло", проапгрейдил либы и жава, снова "зависло".
сейчас первая апликация с
logging.level.org.apache.tomcat=DEBUG
logging.level.org.apache.catalina=DEBUG

работает. жду затыка.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40028711
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hck2,
"жду"
Не жди. Изучай слово мониторинг и нагрузочное тестирование
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40028733
hck2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
дождался, в логе
2020-12-17 14:36:58.233 DEBUG 793 --- [o-8081-Acceptor] o.apache.tomcat.util.threads.LimitLatch : Counting up[http-nio-8081-Acceptor] latch=503
2020-12-17 14:36:58.557 DEBUG 793 --- [o-8081-Acceptor] o.apache.tomcat.util.threads.LimitLatch : Counting up[http-nio-8081-Acceptor] latch=504
2020-12-17 14:36:58.912 DEBUG 793 --- [o-8081-Acceptor] o.apache.tomcat.util.threads.LimitLatch : Counting up[http-nio-8081-Acceptor] latch=505
2020-12-17 14:36:59.277 DEBUG 793 --- [o-8081-Acceptor] o.apache.tomcat.util.threads.LimitLatch : Counting up[http-nio-8081-Acceptor] latch=506
2020-12-17 14:36:59.637 DEBUG 793 --- [o-8081-Acceptor] o.apache.tomcat.util.threads.LimitLatch : Counting up[http-nio-8081-Acceptor] latch=507
2020-12-17 14:36:59.958 DEBUG 793 --- [o-8081-Acceptor] o.apache.tomcat.util.threads.LimitLatch : Counting up[http-nio-8081-Acceptor] latch=508
2020-12-17 14:37:00.295 DEBUG 793 --- [o-8081-Acceptor] o.apache.tomcat.util.threads.LimitLatch : Counting up[http-nio-8081-Acceptor] latch=509
2020-12-17 14:37:00.597 DEBUG 793 --- [o-8081-Acceptor] o.apache.tomcat.util.threads.LimitLatch : Counting up[http-nio-8081-Acceptor] latch=510

я верно понимаю что мне нужно тредов томкату увеличивать ?
server.tomcat.max-threads=1000 - должно помочь ?
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40028740
pavel_nv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет, не верно. нужно разбираться почему у тебя медленно выполняются запросы, что аж 200 потоков не могут обработать все входящие запросы.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40028741
pavel_nv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hck2
pavel_nv
видимо тред-пул забился. В таких случаях нужно снимать thread dump через jstack

спасибо, почитаю. врядли тред-пул в обоих апликациях забился разом (плюс спринг шедуллер свои задачи запускал исправно), но наверно зацепки в дампе можно будет поискать.


судя по всему все 200 потоков на первом аппе ждут пока ему ответят из апп 2 (у тебя же в потоке запроса выполняется запрос ко второму аппе, судя по начальному описанию). Так что нужно изучать апп2
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40028744
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pavel_nv,
Есть мнение 350 макс поставь
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40028748
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hck2,

Запрос в веб приложений выполняется за сотне доли сек?
Это не десктоп?
В десктоп хоть 8часов транзакцию держи.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40028750
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужна диагностика уровня Томката. Посмотри сколько исполняется запросов в данный момент. И с какого IP
адреса они идут.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40028754
pavel_nv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
pavel_nv,
Есть мнение 350 макс поставь


Ставьте. а потом выяснится что у него размер пула БД 20, и 180 потоков просто ждут его освобождения что бы БД сходить. В общем без понимания природы приложения это как пальцем в небо.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40028757
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pavel_nv,
это default
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40028759
hck2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pavel_nv
hck2
пропущено...

спасибо, почитаю. врядли тред-пул в обоих апликациях забился разом (плюс спринг шедуллер свои задачи запускал исправно), но наверно зацепки в дампе можно будет поискать.


судя по всему все 200 потоков на первом аппе ждут пока ему ответят из апп 2 (у тебя же в потоке запроса выполняется запрос ко второму аппе, судя по начальному описанию). Так что нужно изучать апп2


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

в принципе я не ожидал, что там и 10 потоков одновременно окажутся занятыми, но битрикс24 умеет удивлять. на одно изменение в сделке прилетает много десятков вызовов. в результате апп1 еще и ddos экраном выступает и 10 секунд ждет, что бы не забить апп2 дублирующими вызовами.
ок, буду думать.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40028765
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hck2,
необязательно все что в жизни тормозит пускать асинхронно.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40028768
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>ловит рест вызовы, пишет факт вызова в базу
логгер всех http вызовов писать в бд это убийственно
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40028774
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hck2
pavel_nv
пропущено...


судя по всему все 200 потоков на первом аппе ждут пока ему ответят из апп 2 (у тебя же в потоке запроса выполняется запрос ко второму аппе, судя по начальному описанию). Так что нужно изучать апп2


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

в принципе я не ожидал, что там и 10 потоков одновременно окажутся занятыми, но битрикс24 умеет удивлять. на одно изменение в сделке прилетает много десятков вызовов. в результате апп1 еще и ddos экраном выступает и 10 секунд ждет, что бы не забить апп2 дублирующими вызовами.
ок, буду думать.

Подожди. На 1 изменение в сделке прилетает много десятков вызовов?
А в каком порядке они прилетают? В каком порядке система успеет их обработать?
Система идемпотентна?
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40028777
hck2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp
>ловит рест вызовы, пишет факт вызова в базу
логгер всех http вызовов писать в бд это убийственно

нет, в базу записываю только те реквесты, что прислали верный application_token
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40028786
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hck2
PetroNotC Sharp
>ловит рест вызовы, пишет факт вызова в базу
логгер всех http вызовов писать в бд это убийственно

нет, в базу записываю только те реквесты, что прислали верный application_token
ну дак это фильтр и писать в базу НЕ НАДО. ЭТО ТОРМОЗ!
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40028787
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hck2,

а фильтр это не приложение application
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40028788
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
очередная жертва микросервисов что ли....
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40028791
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да неизвестно что там за база. В последнее время этот термин стал ... слишком расплывчатым.

EventStore - база? ХЗ. Как по мне - просто свалка событий. Или InfluxDb - база?
Хз. Как по мне просто лог измерений.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40028799
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
таких бд тут и нету😎
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40028878
hck2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton

Подожди. На 1 изменение в сделке прилетает много десятков вызовов?
А в каком порядке они прилетают? В каком порядке система успеет их обработать?
Система идемпотентна?

системе пришлось стать идемпотентной. битрикс24 все, что может - сообщить что есть изменение в сделке/товаре/задаче
как я понимаю одно изменение в сделке запросто запускает некие бизнес процессы, которые считают скидку и еще что-то и каждый шаг в процессе видимо генерирует свой рест вызов.
и то что я пытаюсь однотипные запросы пропускать уже мало спасает, я и с 1000 threads похоже зависну

2020-12-17 17:53:07.752 DEBUG 9390 --- [-8081-exec-1030] o.apache.tomcat.util.threads.LimitLatch : Counting down[http-nio-8081-exec-1030] latch=911
2020-12-17 17:53:48.814 DEBUG 9390 --- [-8081-exec-1031] o.apache.tomcat.util.threads.LimitLatch : Counting down[http-nio-8081-exec-1031] latch=910
2020-12-17 17:53:49.815 DEBUG 9390 --- [-8081-exec-1032] o.apache.tomcat.util.threads.LimitLatch : Counting down[http-nio-8081-exec-1032] latch=909

а можно как-то понять ли среди этих 909 threads зависших из-за б24 ? вероятно апп2 коннектится к б24, пытаясь выяснить что же в сделке изменилось и висит (таймаут я помню выкручивал). при этом висит и апп1 ожидая ответа.

mayton
Да неизвестно что там за база. В последнее время этот термин стал ... слишком расплывчатым.

EventStore - база? ХЗ. Как по мне - просто свалка событий. Или InfluxDb - база?
Хз. Как по мне просто лог измерений.


обычная mariadb. в ней я и записываю реквесты от б24. я посмотрел, все таки это апп2 по этой бд вычисляет, что уже есть более свежие и однотипные запросы и можно ревест не выполнять.

PetroNotC Sharp
очередная жертва микросервисов что ли....

нет, идея иметь самое примитивное приложение на переднем крае, в котором нечему ломатся и которое не пропустит вызовы от б24. а вот апп2 тяжелое и может себе позволить не успеать или вовсе упасть. когда поднимется, разгрести очередь из mariadb.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40028882
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я понятия не имею что такое битрикс. Но если у тебя количество threads такое большое - то я-бы проанализировал
1) зачем они нужны?
2) что они делают в данный момент. Сделай в JVisualVM dump stacktrace. Если они 99% висят на ожидании третьих сервисов - то
просто количественное их увеличение ничего не даст. Ботлнек не в твоей системе а в другой.
3) обсуди укрупнение threads. Пускай 1 thead делает пакетные действия за 1 roundtrip в сеть.

Для любой нормальной системы просто количество theads за 1000 штук уже вызывает подозрения.
Кроме того у каждого thread есть минимальный footprint по памяти порядка 10M. При таком подходе
пустые ничего не делающие потоки сожрут 10 гигабайт безо всякой пользы.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40028883
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или 10 или 1 мегабайт я не помню точно.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40028885
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hck2,

авторнет, идея иметь самое примитивное приложение на переднем крае, в котором нечему ломатся и которое не пропустит вызовы от б24. а вот апп2 тяжелое и может себе позволить не успеать или вовсе упасть. когда поднимется, разгрести очередь из mariadb.
Аффтар!
Я поражаюсь. Вот вы счас обосновали выбор Message Driven архитектуру. Два раза произнесли слово очередь.
А построили два синхронных экзешника друг в друге?
Какой у вас сервер очередей?
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40028889
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hck2,

По постановке тоже интересно.
Бизнес логика тяжелая, 2 минуты сохраняет заявку на сантехника.
Может не успеть куда?
Потом вы сами решили что ему можно упасть?
И вы решили что все запросы можно сохранить куда то, чтобы тот жирный сервер поднялся и все разгреб!
А юзверю вы на кнопу Создать заявку отписали что создана? Хотя сервер в дауне?
Ниче не понятно по юзкейсам.
Удачи аффтару!
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40028906
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забавно когда Async-Servlets тоже не помогают
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029227
hck2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
открыл для себя утилиту jstack и нашел в чем дело. я несколько бинов пометил SCOPE_PROTOTYPE и случайно на restTemplate тоже бахнул
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)

и теперь у меня вопрос, а что же произошло ? судя jstack часть вызовов зависали на блокировке на сутки

"http-nio-8081-exec-71" #101 daemon prio=5 os_prio=0 cpu=17.60ms elapsed=83489.77s tid=0x00007f7adc0476c0 nid=0x6028 runnable [0x00007f7ad20dc000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.SocketDispatcher.read0(java.base@15.0.1/Native Method)
at sun.nio.ch.SocketDispatcher.read(java.base@15.0.1/SocketDispatcher.java:47)
at sun.nio.ch.NioSocketImpl.tryRead(java.base@15.0.1/NioSocketImpl.java:261)
at sun.nio.ch.NioSocketImpl.implRead(java.base@15.0.1/NioSocketImpl.java:312)
at sun.nio.ch.NioSocketImpl.read(java.base@15.0.1/NioSocketImpl.java:350)
at sun.nio.ch.NioSocketImpl$1.read(java.base@15.0.1/NioSocketImpl.java:803)
at java.net.Socket$SocketInputStream.read(java.base@15.0.1/Socket.java:981)
at java.io.BufferedInputStream.fill(java.base@15.0.1/BufferedInputStream.java:244)
at java.io.BufferedInputStream.read1(java.base@15.0.1/BufferedInputStream.java:284)
at java.io.BufferedInputStream.read(java.base@15.0.1/BufferedInputStream.java:343)
- locked <0x000000008eec03a8> (a java.io.BufferedInputStream)
at sun.net.www.http.HttpClient.parseHTTPHeader(java.base@15.0.1/HttpClient.java:754)
at sun.net.www.http.HttpClient.parseHTTP(java.base@15.0.1/HttpClient.java:689)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(java.base@15.0.1/HttpURLConnection.java:1623)
- locked <0x000000008eec9e88> (a sun.net.www.protocol.http.HttpURLConnection)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(java.base@15.0.1/HttpURLConnection.java:1528)
- locked <0x000000008eec9e88> (a sun.net.www.protocol.http.HttpURLConnection)
at java.net.HttpURLConnection.getResponseCode(java.base@15.0.1/HttpURLConnection.java:527)
at org.springframework.http.client.SimpleBufferingClientHttpRequest.executeInternal(SimpleBufferingClientHttpRequest.java:82)
at org.springframework.http.client.AbstractBufferingClientHttpRequest.executeInternal(AbstractBufferingClientHttpRequest.java:48)
at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:66)
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:775)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:710)
at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:601)
at com.sample.bitrixgw.BitrixRestController.productUpdate(BitrixRestController.java:85)
at jdk.internal.reflect.GeneratedMethodAccessor40.invoke(Unknown Source)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@15.0.1/DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(java.base@15.0.1/Method.java:564)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1061)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:961)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:652)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)

я думал в худшем случае получу оверхед на создание нового объекта restTemplate, а тут выглядит что некая очередь образовалась.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029233
pavel_nv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Этот поток в состоянии Runnable, и он ждёт ответа от сервиса.
Заблокированы потоки были бы blocked или waiting
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029234
pavel_nv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно имеет смысл подтюнить httpclient, задать размер пула подключений, установить connection timeout и read timeout
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029236
hck2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pavel_nv
Этот поток в состоянии Runnable, и он ждёт ответа от сервиса.
Заблокированы потоки были бы blocked или waiting

да, дальше идут тысячи blocket, не удачный пример взял. но с этим тогда не понятно, elapsed=83489.77s не должен был рест столько ждать. у меня вот так создавался restTemplate:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
    @Bean
    @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
    public RestTemplate restTemplate(RestTemplateBuilder builder) {

        RestTemplate restTemplate = builder
                .setConnectTimeout(Duration.ofMillis(120_000))
                .setReadTimeout(Duration.ofMillis(360_000))
                .build();

        restTemplate.getMessageConverters()
                .add(0, new StringHttpMessageConverter(Charset.forName("UTF-8")));

        return restTemplate;
    }
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029244
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hck2
и теперь у меня вопрос, а что же произошло

Нужно давать больше цифр.
Например, логи где тормозит, по крупному.
То есть сколько идёт запрос на app2 и на app1
Сколько требуется по ТЗ и расчётная длительность по нагрузкам.
Если 10 одновременных юзверей вешают систему то надо пересмотреть архитектуру. Например не логировать каждый запрос в сессии, а только начало сессии. Или писать в оперативку а не на диск или ....
Разобраться нужно ли вам помнить что запрашивалось когда сервер был в дауне на перезагрузке.
И кто это будет помнить.
Долго вы думаете над обычными вещами по техническому заданию ака ТЗ.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029300
hck2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp,

там 10 юзеров, нет там никакой нагрузки. в целом за день порядка 10-15к вызовов, с пиками до 4 тысячи в отдельные часы. даже у связанных апп1 и апп2 еще запас на увеличение нагрузки в тысячи раз. проблема кажется найдена, присмотревшись к jstack логу увидел, что те что BLOCKED, они все уперлись в synchronized метод. это я подправлю.

но у меня остался вопрос по логу с Thread.State: RUNNABLE, почему у restTemplate не отработал ReadTimeout ? я помню, что летом у моего restTemplate был дефолтный timeout и я заметил, что у меня вылетали по timeout попытки записи огромных сделок с сотнями продуктов. потому добавил setReadTimeout(), но похоже вместо timeout получил бесконечное ожидание.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029302
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hck2,
Ну если нет нагрузки то вам решать.
Приложение одного окна может в принципе и 500 запросов в сек слать при ОДНОМ переходе на окно Аналитика заказов.
Вам виднее.
...
Метод синхронизации должен отсутствовать везде. С этого надо начинать топик.
Везде убрали?
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029675
hck2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
хм, а теперь я получил
java.util.ConcurrentModificationException
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1631)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
at org.springframework.web.client.RestTemplate$AcceptHeaderRequestCallback.doWithRequest(RestTemplate.java:891)
at org.springframework.web.client.RestTemplate$HttpEntityRequestCallback.doWithRequest(RestTemplate.java:951)
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:773)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:710)
at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:601)
at com.sample.webapi.services.OpencartSyncService.processProduct(OpencartSyncService.java:109)
at com.sample.webapi.services.OpencartSyncService$$FastClassBySpringCGLIB$$4fe6ea9e.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:687)
at com.sample.webapi.services.OpencartSyncService$$EnhancerBySpringCGLIB$$fa9863a9.processProduct(<generated>)
at com.sample.webapi.services.ProductProcessor.productUpdate(ProductProcessor.java:78)
at com.sample.webapi.RestGatewayController$2.run(RestGatewayController.java:125)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
at java.base/java.lang.Thread.run(Thread.java:832)

это что, получается restTemplate нифига не thread safe и нужно SCOPE_PROTOTYPE возвращать ?
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029676
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hck2
хм, а теперь я получил
java.util.ConcurrentModificationException
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1631)

Тут похоже ты из двух потоков бегаешь итераторами по массиву и без синхронизации его изменяешь.

По PROTOTYPE ничего не могу сказать т.к. я пока не вижу связи. И вообще на рубеже 1-й страницы
пора уже нам увидеть твои исходники.

Т.к. сам понимаешь мы не можем играть в гадалок с хрустальными шарами. Это нудно. И обидно.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029681
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот один вариант. Со ссылкой на

https://www.codejava.net/java-core/concurrency/java-concurrent-collection-copyonwritearraylist-examples

Код: java
1.
2.
3.
List<String> unsafeList = new ArrayList<>();
List<String> safeList = Collections.synchronizedList(unsafeList);
 
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029685
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hck2,
>это что, получается restTemplate нифига не thread safe
Ну дак в справке по нему написано - для СИНХРОННОГО доступа.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029688
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В связи с короной появилось так много желающих засунуть свой код в поток.
Казалось бы, что изменилось за последние месяцы?
Но многие почему то хотят распарралелить и самому а коде наплодить потоков.
Одновременно заявляя выше - "нагрузка у нас небольшая! Штук 10 юзверей)))))) LOL
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029690
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
hck2,
>это что, получается restTemplate нифига не thread safe
Ну дак в справке по нему написано - для СИНХРОННОГО доступа.


это ж как бэ разное. блокирующий и thread safe. Тут где то callback(requestCallback) хитрый/неявный возможно передается это раз,
Два в параметры точно передаются immutable structures?
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029694
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming,
Ну дак они зависят друг от друга.
Если нет потоков то и нет вопроса про thread safe и нет нужды в установке синхронизации.
И блокировать ничего не надо.
Железная логика?
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029695
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТЗ
1. Нагрузка небольшая - 10 юзверей
2. Все встает колом...
3. Возможно причина в блокировках.
Вопрос - что из трех лишнее в архитектуре (оверхед)?
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029697
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp

>это что, получается restTemplate нифига не thread safe
Ну дак в справке по нему написано - для СИНХРОННОГО доступа.


PetroNotC Sharp
lleming,
Ну дак они зависят друг от друга.
Если нет потоков то и нет вопроса про thread safe и нет нужды в установке синхронизации.
И блокировать ничего не надо.
Железная логика?


Нет. Фраза стояла синхронный клиент имеется ввиду блокирующий поток клиент, при этому он может быть как и thread safe и не thread safe.

jdbc стандарт тоже вроде как синхронный по спеке но при этом драйвера плодят поток на каждый коннекшон.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029698
hck2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton

Тут похоже ты из двух потоков бегаешь итераторами по массиву и без синхронизации его изменяешь.

но стектрейс же уходит глубоко в restTempalte потроха. или я чего-то глобально не понимаю ?

mayton

По PROTOTYPE ничего не могу сказать т.к. я пока не вижу связи.

ну а как остальные используют restTempalte ? врятли же выстраивают в очередь все вызовы рест клиента.
по стектрейсу четко видно, что внутри restTemplate что-то ломается при параллельных вызовах. как я понимаю самый адекватный ответ - PROTOTYPE и плодить на каждый вызов отдельный инстанс restTemplate
или я совсем неверно рассуждаю ?

mayton
Т.к. сам понимаешь мы не можем играть в гадалок с хрустальными шарами. Это нудно. И обидно.

так там же весь проект тогда надо выставлять, я еще к такому не готов.

PetroNotC Sharp
hck2,
>это что, получается restTemplate нифига не thread safe
Ну дак в справке по нему написано - для СИНХРОННОГО доступа.

я понял что речь о том что каждый мой поток синхронно ответ получит.

PetroNotC Sharp
В связи с короной появилось так много желающих засунуть свой код в поток.
Казалось бы, что изменилось за последние месяцы?
Но многие почему то хотят распарралелить и самому а коде наплодить потоков.
Одновременно заявляя выше - "нагрузка у нас небольшая! Штук 10 юзверей)))))) LOL


это проект, не основная моя работа и на половину ради того, что бы именно такие вещи для себя прокачать. долбить параллельно это правильно, ставить в очередь во первых не правильно, во вторых я попробовал. тот самый synchronized метод, который существенную часть нагрузки выстроил в очередь и я получил тысячи blocked тредов.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029707
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming
PetroNotC Sharp

>это что, получается restTemplate нифига не thread safe
Ну дак в справке по нему написано - для СИНХРОННОГО доступа.


PetroNotC Sharp
lleming,
Ну дак они зависят друг от друга.
Если нет потоков то и нет вопроса про thread safe и нет нужды в установке синхронизации.
И блокировать ничего не надо.
Железная логика?


Нет. Фраза стояла синхронный клиент имеется ввиду блокирующий поток клиент, при этому он может быть как и thread safe и не thread safe.

jdbc стандарт тоже вроде как синхронный по спеке но при этом драйвера плодят поток на каждый коннекшон.

Странный ты.
Thread safe это доступ из не кольких потоков.
Конечно если блокировать олновременный доступ то и вопрос теряет смысл.
Уже пофигу становится, thread on safe или нет))).
В jdbc как раз - одно соединение на поток. И все будет нормально.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029708
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hck2

mayton
Т.к. сам понимаешь мы не можем играть в гадалок с хрустальными шарами. Это нудно. И обидно.

так там же весь проект тогда надо выставлять, я еще к такому не готов.

Не надо весь проект. Создай макет который делает тоже самое. 1-2 класса.

Кстати это полезно еще тем что ты в процессе уже можешь сам исправить эту ошибку.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029709
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>jdbc стандарт тоже вроде как синхронный по спеке но при этом драйвера плодят поток на каждый коннекшон.
Он синхронный и не Thread Safe, ПОЭТОМУ приходится плодить!
Причина и следствие!
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029712
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hck2,
Ты в курсе что "в очередь" не существует в веб.
Контейнер сам плодит потоки для запросов.
Есть потоки серверные и есть потоки КЛИЕНТСКОГО КОДА.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029714
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029715
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot hck2#22251435]
mayton

ну а как остальные используют restTempalte ? врятли же выстраивают в очередь все вызовы рест клиента.
по стектрейсу четко видно, что внутри restTemplate что-то ломается при параллельных вызовах. как я понимаю самый адекватный ответ - PROTOTYPE и плодить на каждый вызов отдельный инстанс restTemplate
или я совсем неверно рассуждаю ?

Ты имеешь в виду это?

https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/client/RestTemplate.html

Давай глянем доку. Я попробую с моим хреновым intermediate Хоть что-то перевести.

Synchronous client to perform HTTP requests, exposing a simple, template method API over underlying HTTP client libraries such as the JDK HttpURLConnection, Apache HttpComponents, and others.
The RestTemplate offers templates for common scenarios by HTTP method, in addition to the generalized exchange and execute methods that support of less frequent cases.

NOTE: As of 5.0 this class is in maintenance mode, with only minor requests for changes and bugs to be accepted going forward. Please, consider using the org.springframework.web.reactive.client.WebClient which has a more modern API and supports sync, async, and streaming scenarios.
Синхронный клиент предназначенный для выполнения HTTP-запросов предоставляющий простой шаблонный API сквозь
базовые HTTP-библиотеки такие как HttpUrlConnection, Apache HttpComponents и другие.


RestTemplate предлагает шаблон для общих сценариев с использованием HTTP, в дополнение к общим методам обмена данными
и исполнения которые поддерживают не очень частые вызовы.

Уведомление. Начиная с версии 5.0 этот класс - в режиме поддержки, которая делается только с минорными
изменениями и багами в будущем. Пожалуйста рассмотрите использование org.springframework.web.reactive.client.WebClient
который имеет более современный API и поддерживает sync, async, and streaming сценарии использования.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029716
hck2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton

Не надо весь проект. Создай макет который делает тоже самое. 1-2 класса.

Кстати это полезно еще тем что ты в процессе уже можешь сам исправить эту ошибку.

я реально не понимаю для чего. разве стектрейс не снимает полностью "вину" с логики моего приложения ? почему по представленому стектрейсу поставить однозначный диагноз ?

at org.springframework.web.client.RestTemplate$AcceptHeaderRequestCallback.doWithRequest(RestTemplate.java:891)
заполняет какой-то свой ArrayList, разве не это показывает стектрейс ?
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029718
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hck2
mayton

Не надо весь проект. Создай макет который делает тоже самое. 1-2 класса.

Кстати это полезно еще тем что ты в процессе уже можешь сам исправить эту ошибку.

я реально не понимаю для чего. разве стектрейс не снимает полностью "вину" с логики моего приложения ? почему по представленому стектрейсу поставить однозначный диагноз ?

at org.springframework.web.client.RestTemplate$AcceptHeaderRequestCallback.doWithRequest(RestTemplate.java:891)
заполняет какой-то свой ArrayList, разве не это показывает стектрейс ?

Стек трейс - это капитан-очевидность. Он говорит. Чувак. Ты нарушил базовые принципы мультипоточки
в java. Как ты докатился до такой жизни - это вопрос к тебе. Переделывай приложение. Выше по стек ты что-то нарушил
или сдела неправильное допущение.


На самом деле в Java - хорошие стектрейсы. Если не веришь - сходи в С++ и там ты просто впадешь в депрессию
от "информативности" ошибок. Будешь читать состояния регистров процессора и по ним пытсться раскурить что
случилось ДО ТОГО и как.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029719
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hck2
mayton

Не надо весь проект. Создай макет который делает тоже самое. 1-2 класса.

Кстати это полезно еще тем что ты в процессе уже можешь сам исправить эту ошибку.

я реально не понимаю для чего. разве.....

Еще один ленивый показать код ошибки...
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029720
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
>jdbc стандарт тоже вроде как синхронный по спеке но при этом драйвера плодят поток на каждый коннекшон.
Он синхронный и не Thread Safe, ПОЭТОМУ приходится плодить!
Причина и следствие!


Если следовать этой логике то это взаимоисключащие характеристики и вместо синхронный можно использовать thread safe и избавить еще от одного ненужного термина.
Повторю еще раз что resttemplate что apache http client под синхронным не подразумевается thread safety а то что используется блокирующее IO.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029723
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вот навскидку
https://stackoverflow.com/questions/22989500/is-resttemplate-thread-safe

RestTemplate is thread-safe once constructed

не потому что он синхронный а потому что обычный паттерн использования в спринге, подразумевается что его состояние не меняется после инициализации при старте контейнера.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029726
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Thread safe и синхронизм - это желтое и квадратное.

Потокобезопасность может быть реализована по разному. На блокировках. На атомиках. Вообще на отсутсвии конкуренции
если задача такое позволяет.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029732
hck2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton

Стек трейс - это капитан-очевидность. Он говорит. Чувак. Ты нарушил базовые принципы мультипоточки
в java. Как ты докатился до такой жизни - это вопрос к тебе. Переделывай приложение. Выше по стек ты что-то нарушил
или сдела неправильное допущение.


На самом деле в Java - хорошие стектрейсы. Если не веришь - сходи в С++ и там ты просто впадешь в депрессию
от "информативности" ошибок. Будешь читать состояния регистров процессора и по ним пытсться раскурить что
случилось ДО ТОГО и как.

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

зы. по документации я вроде читаю по английски и вижу про Synchronous client, в про thread safe ничего не говорится.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029735
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хватит уже болтать. Показывай где ArrayList или его итератор. Ты его - шаришь между потоками.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029741
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hck2
mayton

Стек трейс - это капитан-очевидность. Он говорит. Чувак. Ты нарушил базовые принципы мультипоточки
в java. Как ты докатился до такой жизни - это вопрос к тебе. Переделывай приложение. Выше по стек ты что-то нарушил
или сдела неправильное допущение.


На самом деле в Java - хорошие стектрейсы. Если не веришь - сходи в С++ и там ты просто впадешь в депрессию
от "информативности" ошибок. Будешь читать состояния регистров процессора и по ним пытсться раскурить что
случилось ДО ТОГО и как.

да блин, я же никого не обвиняю и не жалуюсь. .

И мы тебя не обвиняем. Ты хороший. Но закругляйся болтать и дай пример на sleep()
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029747
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hck2
mayton

Стек трейс - это капитан-очевидность. Он говорит. Чувак. Ты нарушил базовые принципы мультипоточки
в java. Как ты докатился до такой жизни - это вопрос к тебе. Переделывай приложение. Выше по стек ты что-то нарушил
или сдела неправильное допущение.


На самом деле в Java - хорошие стектрейсы. Если не веришь - сходи в С++ и там ты просто впадешь в депрессию
от "информативности" ошибок. Будешь читать состояния регистров процессора и по ним пытсться раскурить что
случилось ДО ТОГО и как.

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

зы. по документации я вроде читаю по английски и вижу про Synchronous client, в про thread safe ничего не говорится.


стектрей это и говорит но не видно зачем ктото меняет ему его.
Код: java
1.
2.
3.
4.
5.
6.
List<MediaType> allSupportedMediaTypes = getMessageConverters().stream()
						.filter(converter -> canReadResponse(this.responseType, converter))
						.flatMap(this::getSupportedMediaTypes)
						.distinct()
						.sorted(MediaType.SPECIFICITY_COMPARATOR)
						.collect(Collectors.toList());



точно нигде setMessageConvertes() или getMessageConverters не вызывается и руками не меняется ?
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029750
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно везде если инжектится RestTemplate поменять на RestOperations и если приложение не компилируется то где то косяк
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029756
hck2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
lleming


стектрей это и говорит но не видно зачем ктото меняет ему его.
Код: java
1.
2.
3.
4.
5.
6.
List<MediaType> allSupportedMediaTypes = getMessageConverters().stream()
						.filter(converter -> canReadResponse(this.responseType, converter))
						.flatMap(this::getSupportedMediaTypes)
						.distinct()
						.sorted(MediaType.SPECIFICITY_COMPARATOR)
						.collect(Collectors.toList());



точно нигде setMessageConvertes() или getMessageConverters не вызывается и руками не меняется ?


вызывается, чуть выше код где я restTemplate bean создаю

https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1331858&msg=22250648

выходит редиска найдена
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029762
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй работать с копией массива.

Код: java
1.
new ArrayList(getMessageConverters());



Только копию создавай не здесь. А до того как стартовал поток.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029764
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming
Ну вот навскидку
https://stackoverflow.com/questions/22989500/is-resttemplate-thread-safe

RestTemplate is thread-safe once constructed

не потому что он синхронный а потому что обычный паттерн использования в спринге, подразумевается что его состояние не меняется после инициализации при старте контейнера.
ну и что?
Я писал объект ThreadSafe который перестал падать просто добавив синхронизацию или блокировку в метод.
То есть я тупой и глючный объект просто затормозил!
Теперь мы почему то топим за restTemplate который тоже модели поток на запрос.
Пока не вернется ответ, поток будет заблокирован!
Спринг след версии сменят объект класс на НЕБЛОКИРУЮЩИЙ!
И не буде этого restTemplate.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029767
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эволюция:
- контейнер SingleMode для тех кто пишет по старинке на глобальных))
- контейнер не SingleMode и убрана эта галка - для продвинутых в 2003 году
- потоки в приложении и пул для тех кто не доверяет потоку и пулу выше и любит свои велосипеды (ТС тут)
- асинхронный неблокирующий клиент спринг бут с java8
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029770
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Он не может решить простую задачу. Правильно пошарить Java ArrayList (которая всегда thread unsafe)
между потоками.

А SpringBoot это просто внешняя обертка этой проблемы. Ну был-бы Google Guice, Или сервлеты. Тот-же баг бы словили.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029777
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
При использовании потоков и пула серверного никаких багов.
А счас он полубеременный.
Спринг заменил класс на котором он пишет асинхронно.
Асинхронно блокируя он пишет))))))
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029781
hck2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton
Он не может решить простую задачу. Правильно пошарить Java ArrayList (которая всегда thread unsafe)
между потоками.

А SpringBoot это просто внешняя обертка этой проблемы. Ну был-бы Google Guice, Или сервлеты. Тот-же баг бы словили.

а вот тут у меня вопрос. если это спринг, почему не проканало ?
без анотации как я понимаю при старте должен был оздатся бин restTemplate, в нем просетится setMessageConvertes() и дальше все должны были использовать этот бин без изменений. почему я получил ошибку ?
с анотацией @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) каждый тред должен был бы создавать свой бин и каждый делать setMessageConvertes() своему бину. тем не менее я снова получил ошибку.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029786
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hck2
mayton
Он не может решить простую задачу. Правильно пошарить Java ArrayList (которая всегда thread unsafe)
между потоками.

А SpringBoot это просто внешняя обертка этой проблемы. Ну был-бы Google Guice, Или сервлеты. Тот-же баг бы словили.

а вот тут у меня вопрос. если это спринг, почему не проканало ?
без анотации как я понимаю при старте должен был оздатся бин restTemplate, в нем просетится setMessageConvertes() и дальше все должны были использовать этот бин без изменений. почему я получил ошибку ?
с анотацией @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) каждый тред должен был бы создавать свой бин и каждый делать setMessageConvertes() своему бину. тем не менее я снова получил ошибку.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
   @Bean
    public RestOperations restTemplate(RestTemplateBuilder builder) {

        RestTemplate restTemplate = builder
                .setConnectTimeout(Duration.ofMillis(120_000))
                .setReadTimeout(Duration.ofMillis(360_000))
                .build();

        restTemplate.getMessageConverters()
                .add(0, new StringHttpMessageConverter(Charset.forName("UTF-8")));

        return restTemplate;
    }



Если так написать проект компилируется ?
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029788
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
lleming
Ну вот навскидку
https://stackoverflow.com/questions/22989500/is-resttemplate-thread-safe

RestTemplate is thread-safe once constructed

не потому что он синхронный а потому что обычный паттерн использования в спринге, подразумевается что его состояние не меняется после инициализации при старте контейнера.
ну и что?
Я писал объект ThreadSafe который перестал падать просто добавив синхронизацию или блокировку в метод.
То есть я тупой и глючный объект просто затормозил!
Теперь мы почему то топим за restTemplate который тоже модели поток на запрос.
Пока не вернется ответ, поток будет заблокирован!
Спринг след версии сменят объект класс на НЕБЛОКИРУЮЩИЙ!
И не буде этого restTemplate.


поток мысли какой то

претензия к
PetroNotC>это что, получается restTemplate нифига не thread safe
Ну дак в справке по нему написано - для СИНХРОННОГО доступа.


То что написано в справке не иммет отновшения к thead safe а только то что внизу блокирующее IO.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029789
hck2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
lleming

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
   @Bean
    public RestOperations restTemplate(RestTemplateBuilder builder) {

        RestTemplate restTemplate = builder
                .setConnectTimeout(Duration.ofMillis(120_000))
                .setReadTimeout(Duration.ofMillis(360_000))
                .build();

        restTemplate.getMessageConverters()
                .add(0, new StringHttpMessageConverter(Charset.forName("UTF-8")));

        return restTemplate;
    }



Если так написать проект компилируется ?

компилируется, но тесты попадали с
No qualifying bean of type 'org.springframework.web.client.RestTemplate' available: expected at least 1 bean which qualifies as autowire candidate.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029792
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming,
То что спринг НЕ РЕКОМЕНДУЕТ использоаать restTemplate это для тебя поток мыслей?
Ну ОК))
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029794
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я имею ввиду нигде в коде руками не вызывается getConverters() setConverters() ?
Если вместо RestTemplate инжектить RestOperations то это гарантируется чистоту RestTemplate
помимо того что конфигурацию поправлена нужно и инжекты поменять

Код: java
1.
2.
3.
4.
5.
6.
7.
@Autowired
private RestTemplate restTempate;

на 

@Autowired
private RestOperations restTemplate;


ну и в конструкторах если иньекция через конструктор
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029800
hck2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
блин, нашел. одной строчкой выше же

Код: java
1.
2.
3.
4.
5.
        JsonNode productJson = buildProductJsonForOpencart(product, isNew);

        entity = new HttpEntity<>(productJson.toString(), headers);
        restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
        response = restTemplate.exchange(Constants.OPENCART_PRODUCT_REST_URL + "/products&id="+opencartProductID, HttpMethod.PUT, entity, JsonNode.class);




ок, теперь понятно почему в без анотаци падало. один единственный бин и ему меняют ... а все это время работало потому, что именно этот метод был по synchronize. поток вызовов вырос, synchronize начал создавать проблемы, а без него ... вот оно что. я почти начал понимать как оно у меня работает


lleming

No qualifying bean of type 'org.springframework.web.client.RestTemplate' available:

а, наверно в одном только тесте мало поменять на RestOperations, надо было же во всем коде подменить, остальной код тоже же автовайрит ...
попозже попробую.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029905
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
lleming,
То что спринг НЕ РЕКОМЕНДУЕТ использоаать restTemplate это для тебя поток мыслей?
Ну ОК))

Одни рекомендуют апаче коммонс другие не рекомендуют. Это лишь мнение, и же не имеет отношения к обсуждаемому нами вопросу и его истинности
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029935
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming,
Хмм. Чтобы не обсуждать нужность или не нужность класса достаточно просто афишировать вот так: "Я в курсе что рекомендовано не поворачивать направо и в курсе что потеряю коня".
То есть, я как ТС в курсе, что данный шаблон это калька jdbcTemplate. И спринг его в след версии прекратит поддержку. Но мне надо так, и мы это не обсуждаем.
...
После этой фразы я интерес то потеряю к этому топику)).
Нафиг легаси обсуждать.
Если он уберет все Runnable/future/thread и отдаст это контейнеру то все и так заработает))) на 10 юзверей.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40029987
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да легаси это не страшно. По 10-20 лет легаси работает. Другое дело что джунский вопрос
о ConcurrentModificationException вызывает у автора беспомощность. А это вопрос по
java-core.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40030016
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Согласен.
До 2000 года меня не было)).
Когда все java прогеры писали потоки.
Потом сделали контейнер чтобы они не делали это.
Просто контейнер сам запускал поток чтобы юзверь вложил свой кусок кода.
Наверно думали что так проще и юзверю потоки знать не нужно. Для 10 клиентов то))
Потом что то пошло не так и IT опять качнуло на future/runable.
А потом вообще на стримы потоки данных.
Как знатно качает то лодку в периоде 20лет.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40030059
hck2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton
Да легаси это не страшно. По 10-20 лет легаси работает. Другое дело что джунский вопрос
о ConcurrentModificationException вызывает у автора беспомощность. А это вопрос по
java-core.

вы на меня наговариваете
не было беспомощности, я сразу начал обвинять restTemplate в отсутствии thread safe

PetroNotC Sharp
lleming,
Нафиг легаси обсуждать.
Если он уберет все Runnable/future/thread и отдаст это контейнеру то все и так заработает))) на 10 юзверей.


до этих выходных так и работало: б24 слал рест запрос в апп1, апп1 писала в mariadb и дергала апп2, апп2 шла в б24 выясняя, что собственно обновилось в б24. в итоге все всех ждали. и в принципе эта схема работала, пока летом я не заметил "11-го пользователя" - какой-то робот массово что-то в товарах меняет. мои приложения параллельно получают сотню вызовов и я испугался за б24, если я в рамках своей тупой схемы буду делать сотни реквестов разом в б24, ему поплохеет. вот тут я и бахнул не долго думая synchronize только на обработчик товаров. интересно, что мина сработала лишь спустя пол года.

ладно, на выходных я все общение переделал отдельными тредами. апп1 получая от б24 реквест отвечает 200, в отдельном потоке оповещает апп2, апп2 тоже сразу отвечает 200, в отдельном потоке стартует бизнес логику. synchronize я убрал, но теперь мне нужно думать, как при массовом обновлении товаров в ответ не заддосить б24.
как я понимаю самое правильное было бы городить полноценную очередь, может у спринга что-то такое есть, относительно полноценное но в mysql базе, без messanging quene типа кафки и кролика.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40030068
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hck2,
Если про архитектуру, то
- можно построить без очередей синхронно и по старинке. Но надо знать занафига впереди стоит тормоз app1 и пишет в бд
- можно построить очередь и Message oriented middleware. Но вы не хотите делать полноценные корпоративные
- можно сделать на новой boot 2.0 где модуль web разъехался на servlet or reactive
Решать вам. Развилочка зависит от лени и изучать что то новое
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40030321
hck2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp

Если про архитектуру, то
- можно построить без очередей синхронно и по старинке. Но надо знать занафига впереди стоит тормоз app1 и пишет в бд

без очередей и синхронно это сколько запросов получил я столько же навалится на б24, а тот не факт, что сдюжит. апп1 спасает от полного фейла, если я завтра снова накосячу с synchronize в апп2 и апп2 встанет колом, то я смогу исправить, передеплоить, найти еще косяк, снова передплоить, но быть уверенным, что апп1 все это время пишет задания и я пропущенные вызовы, пусть и с опазданием, но обработаю.

PetroNotC Sharp

- можно построить очередь и Message oriented middleware. Но вы не хотите делать полноценные корпоративные

у меня есть опыт со спарком на основной работе и уже есть приложение на спарке в этом проекте ... да, шедуллер на spark streaming, читает из кафки и запускает нужный процессинг звучит как страница кода, но меня пока пугает администрирование кафки. но в связке с уже имеющимся спарк может оно и ничего.

PetroNotC Sharp

- можно сделать на новой boot 2.0 где модуль web разъехался на servlet or reactive

а чем реакт может помочь в регулировании потока вызовов в сторону б24 ? это же просто колбэк функции, много прилетит ко мне, много вылетит и от меня.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40030335
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hck2
без очередей и синхронно это сколько запросов получил я столько же навалится на б24, а тот не факт, что сдюжит

Переведи свою мысль

ты бы схемку нарисовал как обрабатываюся запросы б24.
Где твой б24 на картинке?
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40030337
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hck2
но быть уверенным, что апп1 все это время пишет задания и я пропущенные вызовы, пусть и с опазданием, но обработаю.
кафка или другой очередь-сервер держит ваши "команды" семь дней.
Чем плохо?
hck2
и я пропущенные вызовы, пусть и с опазданием, но обработаю.

а почему нельзя регистрировать сущность Заявка в ИС и потом их хоть послезавтра обработать?
А вы для такой ерунды ставите целый app2 с СУБД.

hck2
а чем реакт может помочь в регулировании потока вызовов в сторону б24 ? это же просто колбэк функции, много прилетит ко мне, много вылетит и от меня.

вот поэтому надо разобраться "с потоками данных" DFD (диаграммы потоков данных).
авторДиаграмма потоков данных (data flow diagram, DFD) — один из основных инструментов структурного анализа и проектирования информационных систем, существовавших до широкого распространения UML. Википедия
Потому что ваше: "апп1 все это время пишет задания" любой бизнес аналитик перепишет как: "в ИС предусмотреть регистрацию заявок".
И нету вашей проблемы вообще.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40030338
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторпомочь в регулировании потока
Автор!
Надо начать ещё раньше - от печки.
У тебя 10 юзверей. Нагрузка небольшая.
Кто придумал регулировать потоки? Программист? Зачем? Почему? Где сама проблема?
Где тонкое место?
Вот с этого надо начинать в архитектуре.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40030355
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hck2,
Обоснование нужности апп1 у вас такое:
авторапп1 спасает от полного фейла, если я завтра снова накосячу с synchronize в апп2 и апп2 встанет колом, то я смогу исправить, передеплоить, найти еще косяк, снова передплоить, но быть уверенным, что апп1 все это время пишет задания и я пропущенные вызовы, пусть и с опазданием, но обработаю.
Непонятен юз кейс:
- вы накосячили с апп2 и он встал колом (порт 8085 не отвечает)
- апп1 при этом должен логировать(накапливать) задания от битрикса? Юзверь ничего не должен замечать?
...
Тогда вопросы:
- почему не взять позже самому aпп2, запросив у битрикса, что он там наработал во время болезни? Битрикс же полноценная платформа с рест и СУБД?
- если это нельзя, то почему изначально app1 и апп2 не отвязаны друг от друга?
Например, апп1 пишет в бд инфу, а апп2 это JOB/ шедулер проходящий раз в минуту по таблице заданий?
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031299
Кофейник2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hck2, я бы посоветовал Spring Cloud Stream Kafka, если страшно сначала на низком уровне с кафкой возиться. Но без брокера очередей достаточно трудно будет избежать затора между вашими приложениями, если скорость обработки большого числа сообщений от одного превышает скорость другого
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031342
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кофейник2
если скорость обработки большого числа сообщений от одного превышает скорость другого
если бы не 10 юзверей нагрузка то вы правы.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031357
hck2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp

а почему нельзя регистрировать сущность Заявка в ИС и потом их хоть послезавтра обработать?
А вы для такой ерунды ставите целый app2 с СУБД.


ок, попробую нарисовать поток данных сверху вниз.

1) 1с склады, 1с может быть инициатором массовых обновлений товара в битрикс24, думаю остатков. пока сталкиваюсь порядка 200 одновременных событий.
2) битрикс24 црм, тут 10 пользователей + некие роботы, они могут десятки событий, например задачи генерировать. битрикс24 не может послать в рест вызов, что именно у него изменилось. там можно подписаться лишь на оповещение о том что такая-то сущность изменилась. вот такие оповещения по рест битрикс24 шлет в ап1.
3) апп1 - записывает факт вызова в табличку с автоинкрементом, отвечает 200 на вызовы от б24 и в отдельном потоке дергает апп2. задача апп1 не пропустить ни одного вызова б24 и работать в моменты когда я редеплою или решаю проблемы апп2.
4) апп2 - получает вызовы от апп2, с выходных тут же отвечает 200 и в отдельном потоке процессит события. задачи решает разноплановые:
- постройка витрин для отчетной системы (строит исторические таблицы, т.к. црм не хранит историю)
- синхронизирует данные с инет магазинчиком (синхронизирует товары, сделки, клиентов)
- контролирует некоторые бизнес процессы б24, например при выполнении складским работником б24 задачи, дергает бизнес процесс.
- помогает с массовыми загрузками, периодическими выгрузками.
5) инет магазинчик получает рест вызовы от апп2 если апп2 решило что изменение в товаре или сделке должно отобразится в инет магазине
6) powerbi отчетики, поверх витрин построенных апп2

так вот возвращаясь к вопросу, ждать послезавтра нельзя. послезавтра сделка уже пару стадий сменит и апп2 в исторических таблицах много интересного пропустит. поэтому ради витрин истории, некоторые вещи, желательно обработать поскорей, что бы застать как можно больше изменений. если сделка в течении пары минут изменилась несколько раз, апп2 что-то пропустит, но все таки трагедии не будет. пострадает точность прогнозов и отчетики, но если речь о минутах, то не критично страдает.
у покупателя инет магазинчика тоже не будет трагедии если он увидит статус заявки опозданием несколько минут, но часы уже могут породить вопросы.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031362
hck2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кофейник2
hck2, я бы посоветовал Spring Cloud Stream Kafka, если страшно сначала на низком уровне с кафкой возиться. Но без брокера очередей достаточно трудно будет избежать затора между вашими приложениями, если скорость обработки большого числа сообщений от одного превышает скорость другого

я размышляю на счет spark + kafka, но еще не уверен, что готов именно админить кафку. если сломается оракл или mysql, я знаю что такое redo, как починить в любой ситуации. просто запустить кафку по инструкции не выйдет, надо понимать куда бежать, если она поломается.

и еще есть такой вопрос, допустим апп1 пишет в один единственный топик кафки, апп2 читает этот топик, но у меня такой нюанс, что в сделке 100 позиций товара, я пытаюсь сохранить остаток товара в момент создания сделки. для этого я делаю запрос на сущность сделки и 100 запросов в на каждую позицию в сделке, что бы выяснить остаток в сущности товар.
вероятно мне нужно 2 топика, в первом от апп1, одно сообщение, во втором 101 сообщение. выходит апп2 будет само себе сообщение слать. как-то ...
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031367
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hck2
если сломается оракл или mysql, я знаю что такое redo

- выбор простой. Вы развиваетесь как java программист или как прогер на двухзвенке клиент-сервер.
Работать будет и там и там. Вам решать.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031369
hck2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hck2

4) апп2 - получает вызовы от апп2, с выходных тут же отвечает 200 и в отдельном потоке процессит события. задачи решает разноплановые:
- постройка витрин для отчетной системы (строит исторические таблицы, т.к. црм не хранит историю)
- синхронизирует данные с инет магазинчиком (синхронизирует товары, сделки, клиентов)
- контролирует некоторые бизнес процессы б24, например при выполнении складским работником б24 задачи, дергает бизнес процесс.
- помогает с массовыми загрузками, периодическими выгрузками.

получает вызовы от апп1, конечно же, и забыл самое главное - на каждый событие, делает минимум один рест колл в б24, запрашивая сущность, по которой произошло событие (сделку, товар, задачу, контакт, и т.п.). при этом в случае со сделкой анализирует таблицу событий (записанной апп1) и выфильтровывает дублирующие сообщения на тему сделки, в случае с товаром анализирует кол-во запросов и пытается ограничивать кол-во одновременных запросов в битрикс24, что бы не заддосить сервис.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031370
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hck2,

нарисовать можете квадратики и стрелочками вызовы?
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031372
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТС, вы не ответили на все вопросы. Я их много задал. Возможно надо было по одному задавать.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031373
hck2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp
нарисовать можете квадратики и стрелочками вызовы?

нет.
вы на каждую стрелочку лишь наплодите больше бестолковых и неинтересных мне вопросов. остальные как я вижу и так понимают, что я пытаюсь надизайнить.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031375
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hck2
Кофейник2
hck2, я бы посоветовал Spring Cloud Stream Kafka, если страшно сначала на низком уровне с кафкой возиться. Но без брокера очередей достаточно трудно будет избежать затора между вашими приложениями, если скорость обработки большого числа сообщений от одного превышает скорость другого

я размышляю на счет spark + kafka, но еще не уверен, что готов именно админить кафку. если сломается оракл или mysql, я знаю что такое redo, как починить в любой ситуации. просто запустить кафку по инструкции не выйдет, надо понимать куда бежать, если она поломается.

Полностью поддерживаю это беспокойство. Если ломается БД - у нас есть 100% документированные механизмы
восстановления незакоммиченных данных и главное... есть саппорт и есть вменяемая оценка по срокам.

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

По срокам тут - вообще непонятно. Продуктовая система не может стоять на паузе пока джависты делают investigation
что за ситуация и как вообще из нее выходить. И главное где провисли эти сообщения и как их восстановить если какой
то API радостно сообщает сто сбой контрольной суммы файла или блока и что дальше делать непонятно.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031376
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hck2
1с склады

hck2
инет магазинчик

hck2
апп1

hck2
апп2

hck2
витрин

+ битрикс
Я фигею!
У вас куча отдельных независимых систем!
Вам по любому строить Message arhitecture с каким нибудь сервером сообщений(необязательно кафка).
Нарисуйте 6 квадратиков и стрелки между ними
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031377
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Учитывая такое количество тревожных звоночков - я-бы попробовал уже не Кафку а Rabbit-MQ.
Просто ... так. Инженерная интуиция.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031379
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Rabbit-MQ.
возможно. Говорят она продвинутее по функционалу
AMQP открытый протокол передачи сообщений - гар доставка
Rabbit -реализация протокола
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031382
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С лекции Алименкова можно понять все мессенжинговые системы предлагают просто баланс
между скоростью и гарантией. По сути хочешь гарантий - включай опции persistence на максимум.

Кстати - совет объединять месседжи в пачки на логическом уровне - и посылать как 1 - хороший
совет. Особенно там где просто идет репликация.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031451
Кофейник2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton
hck2
пропущено...

я размышляю на счет spark + kafka, но еще не уверен, что готов именно админить кафку. если сломается оракл или mysql, я знаю что такое redo, как починить в любой ситуации. просто запустить кафку по инструкции не выйдет, надо понимать куда бежать, если она поломается.

Полностью поддерживаю это беспокойство. Если ломается БД - у нас есть 100% документированные механизмы
восстановления незакоммиченных данных и главное... есть саппорт и есть вменяемая оценка по срокам.

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

По срокам тут - вообще непонятно. Продуктовая система не может стоять на паузе пока джависты делают investigation
что за ситуация и как вообще из нее выходить. И главное где провисли эти сообщения и как их восстановить если какой
то API радостно сообщает сто сбой контрольной суммы файла или блока и что дальше делать непонятно.


Согласен, если оставаться просто джавистом, далеко не уедешь. ) Лучше стать разработчиком.
Управление восстановлением в Кафке, конечно, требует некоторого погружения в тему. Но в целом, как сказано далее, это компромисс между скоростью и надежностью. Можно увеличить, к примеру, в настройках количество реплик, помня об издержках репликации. Или ask установить на all (что снизит пропускную способность). А потом подключить мониторинг метрик (к примеру, Графану/Прометеус) и посмотреть, как это скажется на производительности.
Можно найти и другие технологии работы с очередями. Но по-любому, придется "вылезать из скорлупы" и юзать окружение: докеры-"шмокеры" и прочее. На одной джаве и реляционных базах не удасться продержаться сейчас.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031452
Кофейник2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hck2

я размышляю на счет spark + kafka, но еще не уверен, что готов именно админить кафку. если сломается оракл или mysql, я знаю что такое redo, как починить в любой ситуации. просто запустить кафку по инструкции не выйдет, надо понимать куда бежать, если она поломается.


Если кафка пугает, можно Spring Cloud Stream RabbitMq.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031453
Кофейник2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Полностью поддерживаю это беспокойство. Если ломается БД - у нас есть 100% документированные механизмы
восстановления незакоммиченных данных и главное... есть саппорт и есть вменяемая оценка по срокам.

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

По срокам тут - вообще непонятно. Продуктовая система не может стоять на паузе пока джависты делают investigation
что за ситуация и как вообще из нее выходить. И главное где провисли эти сообщения и как их восстановить если какой
то API радостно сообщает сто сбой контрольной суммы файла или блока и что дальше делать непонятно.

Согласен, если оставаться просто джавистом, далеко не уедешь. ) Лучше стать разработчиком.
Управление восстановлением в Кафке, конечно, требует некоторого погружения в тему. Но в целом, как сказано далее, это компромисс между скоростью и надежностью. Можно увеличить, к примеру, в настройках количество реплик, помня об издержках репликации. Или ask установить на all (что снизит пропускную способность). А потом подключить мониторинг метрик (к примеру, Графану/Прометеус) и посмотреть, как это скажется на производительности.
Можно найти и другие технологии работы с очередями. Но по-любому, придется "вылезать из скорлупы" и юзать окружение: докеры-"шмокеры" и прочее. По-любому придется столкнуться.[/quot]
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031473
Кофейник2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hck2

и еще есть такой вопрос, допустим апп1 пишет в один единственный топик кафки, апп2 читает этот топик, но у меня такой нюанс, что в сделке 100 позиций товара, я пытаюсь сохранить остаток товара в момент создания сделки. для этого я делаю запрос на сущность сделки и 100 запросов в на каждую позицию в сделке, что бы выяснить остаток в сущности товар.
вероятно мне нужно 2 топика, в первом от апп1, одно сообщение, во втором 101 сообщение. выходит апп2 будет само себе сообщение слать. как-то ...


не понял, почему само себе будет слать. Можете более детально обрисовать?
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031548
hck2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кофейник2
Если кафка пугает, можно Spring Cloud Stream RabbitMq.

а у кролика что-то сильно проще в плане починки ?

Кофейник2
не понял, почему само себе будет слать. Можете более детально обрисовать?

пользователь б24 создал сделку, в сделке 100 позиций. апп1 получает одно сообщение - добавилась запись в сущность сделка. апп2 обрабатывая это одно сообщение теперь должно вытянуть много деталей. 1 рест запрос в б24 за сделкой и 100 за каждым товаром.
если я переделываю на настоящие очереди, то наверно было бы логично и в сторону б24 запросы выстраивать какую-то (вторую) очередь. тогда появится возможность как-то регулировать нагрузку в сторону б24.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031685
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hck2,
>пользователь б24 создал сделку, в сделке 100 позиций
Это одна бизнес транзакция с б24 на бэк java.
Сразу один json с массивом 100 на POST.
Разберитесь, есть ли событие такое в б24.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031686
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> а у кролика что-то сильно проще в плане починки ?
Давайте сначала ФУНКЦИОНАЛ по ТЗ ГОСТ п. 3, потом починки.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031687
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hck2,
>сторону б24 запросы выстраивать
Не торопитесь отвечать. У вас очередь ответов тоже встала.
Так выше спрашивалось - можно ли подписаться на события От битрикса?
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031738
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
> а у кролика что-то сильно проще в плане починки ?
Давайте сначала ФУНКЦИОНАЛ по ТЗ ГОСТ п. 3, потом починки.

Давайте поднимем пред-новогодний топик о том как "готовить кролятину" Rabbit.

Я давно хотел его поднять локально и поразбираться. Тем более что он нормально поддерживает AMQP
и вроде бы быстрее чем Apache-Active.

Кроме того у меня есть отдельный эстетический интерес посмотреть на этот софт. Ведь он написан
на Erlang. А эта технология вызывала у меня всегда изумление.

Топик думаю поднять 30-31 числа. +Напишите ваши вопросы. Я просто их включу в повестку.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031742
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
- четкие шаги для достижения hello world.
- четкие шаги для достижения первого насыщения очереди.
Что имел автор под сбоями я не понял. Увы. Пока имхо это оффтоп.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031757
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имеется в виду такой тривиальный пример?



А что такое насыщение очереди в терминологии AMQP ? Если будет включен персистенс
очередь (наверное) насытится тогда когда у вас диск закончится.

Нет?
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031771
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
1. Наверно. В кафке есть консоль публикатора и консоль подписчика. И есть скрин раб стола где они рядом. В левом пишем месс и в правом появилось))))) Волшебно!)))
2. В кафке это время на сколько можно выписать больничный подписчику и он ничего не пропустит
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031772
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton

очередь (наверное) насытится тогда когда у вас диск закончится.
Нет?

-1
Мессаги хранятся не вечно.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031792
Кофейник2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hck2

а у кролика что-то сильно проще в плане починки ?


в Кафке больше компонентов. Поэтому, на мой взгляд, больше возможных сценариев сбоя.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031793
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton,
1. Наверно. В кафке есть консоль публикатора и консоль подписчика. И есть скрин раб стола где они рядом. В левом пишем месс и в правом появилось))))) Волшебно!)))
2. В кафке это время на сколько можно выписать больничный подписчику и он ничего не пропустит

Сложно как-то все. Я-же не собираюсь подстраивать кролика под Kafka. Это - глупо.

А если у месседжей есть TTL - то давай посмотрим какой он по умолчанию. Или если есть
dead letter queue то посмотрим как долго там лежит мусор без уборки.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031796
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати Кафка мне здесь не нравится тем что она слишком уж ... нестандартная.
Я для себя рисовал такую картинку несколько месяцев назад. И видно что в протокольной части кафки
есть некие белые пятна. У нее - другая терминология. Другие принципы. И по этой причине
я считаю что выстроить точное сравнение между технологиями нам будет очень сложно.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031800
Кофейник2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hck2

пользователь б24 создал сделку, в сделке 100 позиций. апп1 получает одно сообщение - добавилась запись в сущность сделка. апп2 обрабатывая это одно сообщение теперь должно вытянуть много деталей. 1 рест запрос в б24 за сделкой и 100 за каждым товаром.
если я переделываю на настоящие очереди, то наверно было бы логично и в сторону б24 запросы выстраивать какую-то (вторую) очередь. тогда появится возможность как-то регулировать нагрузку в сторону б24.


По-любому очередь в вашем случае будет двунаправленной. Я это изначально предполагал, но теперь в этом все больше убеждаюсь.
Я так понимаю, б24 будет возвращать апп2 данные по 100 товарам одним пакетом? Это было бы логично. И если так, то в единицу времени б24 будет принимать гораздо больше запросов от апп2, чем апп2 ответов от б24. В случае кафки здесь два топика. В разделы первого апп2 записывает сообщения, читаемые б24. В разделы второго б24 уже записывает ответы, читаемые апп2.
Ну, если я правильно понял ваш замысел.

Кстати, а принципиально, чтобы апп2 читал ответы от б24 в том же порядке, в каком направляет в нее запросы?
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031801
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Что именно сложно?
Скрин с двумя прогами или то что есть параметр сколько хранить мессагу???
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031803
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кофейник2,
Ну дак всегда, апп будет иметь публикатор и подписчик одновременно. Что за приложение без событий? Особенно клиент на битрикс
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031808
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Ты так закопаешься.
Надо сначала запустить hello world.
А потом по кусочкам сравнивать.
Я не увидел где кафка ДРУГАЯ.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031811
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кофейник2,
>Кстати, а принципиально, чтобы апп2 читал ответы от б24 в том же порядке, в каком направляет в нее запросы?
Думаю порядок не важен. Иначе себе вредить.
Есть же rest без всякого порядка и состояния
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031820
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton,
Ты так закопаешься.
Надо сначала запустить hello world.
А потом по кусочкам сравнивать.
Я не увидел где кафка ДРУГАЯ.

Ну во первых - терминология. В Rabbit есть понятие Exhange. Сущность со своими свойствами и настройками.

Где аналог Exchange в Кафка? Это - топология путешествия будущиех сообщений.
Это - важно. Это архитектурный вопрос. И я не могу просто так без обсуждения
взять его и проигнорировать.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031822
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Имхо, в топике это не важно. Иначе никогда не двинемся.
Это как JPA против БД. Взяло и половину выкинуло.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031823
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Далее. В кафке есть partitioning. Ее главная киллер-фича благодаря которой обеспечивается
почти бесконечное масштабирование. И благодаря которой у Андрейки не сходится бухгалтерия.

Что есть подобного в Rabbit?

Clustering?

https://www.rabbitmq.com/clustering.html

Может быть. Давай обсудим это ТО ЖЕ самое или не то. Для меня это - важно. И мне непонятно
почему тебе просто хочется создать превед-мир. Ну даже если мы его создадим на кролике
то это ничего не доказывает. А чтобы доказат какое-то свойство сложной системы - надо
ее сконфигурировать правильно. Иначе мы будем как школьники.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031841
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
> благодаря которой у Андрейки не сходится бухгалтерия
Однако в его топике все профи сказали что дело в его руках. Ну и упрямстве.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031844
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По поводу TTL месседжа. Я нигде не нашел упоминания о дефолтном значении для приложения Rabbit.

Есть упоминания о полиси для очередей. И есть кастомизация TTL для каждого конкретного месседжа.

https://www.rabbitmq.com/ttl.html

Пока я считаю что месседжи в кролике хранятся вечно если я сам руками не задавал другого.

Пускай знающие кролико-веды тут меня поправят.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031849
Кофейник2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp
Кофейник2,
>Кстати, а принципиально, чтобы апп2 читал ответы от б24 в том же порядке, в каком направляет в нее запросы?
Думаю порядок не важен. Иначе себе вредить.
Есть же rest без всякого порядка и состояния


Если порядок не имеет значения, можно использовать асинхронную передачу. Это может существенно ускорить обработку потока событий. Зачем именно сейчас ждать ответ, если можно дождаться его позднее
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031852
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кофейник2,
+1
Асинхронность это ключик к Event-driven
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031853
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
В кафке партиция это файл. Поэтому очередность только внутри партиции.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031856
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton,
В кафке партиция это файл. Поэтому очередность только внутри партиции.

Я не согласен с таким упрощением. Файл - это имплементация технологий шардинга или разделения.
Главный поинт в том что процесс получает возможность скейлится. Но если положить хоть 1000 файлов
в одну локальную ФС то скейлинга не будет ибо здесь утрачен основной смысл.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031861
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Админом был?
Кафка это журналы commit log.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031864
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А Rabbit это полноценная очередь.
В кафке нет очереди в прямом смысле. Все журналы читают)))
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031866
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну давай внимательно почитаем конфиг про партишены.

https://kafka.apache.org/081/documentation.html#configuration num.partitions :

The default number of partitions per topic if a partition count isn't given at topic creation time.

Здесь нет ни слова про файлы. Да. Файлы есть. Но твоё упрощение о том что файлы дают масштабирование
я выбрасываю как неверный аргумент.

Файлы... могут вообще затормозить дисковые операции если их открыть хотя-б 65000. Суть не в файлах.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031868
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
А Rabbit это полноценная очередь.
В кафке нет очереди в прямом смысле. Все журналы читают)))

Но у кролика тоже есть кластеризация. А как кластеризовать одну очередь?
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031872
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Ну ОК. Назови это журнал)))).
Образ понятен?
А в rabbit нет такого. Там Коллекция или List.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031873
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Распределенный реплицируемый журнал с коммитом.
ОК?
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031879
hck2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кофейник2
PetroNotC Sharp
Кофейник2,
>Кстати, а принципиально, чтобы апп2 читал ответы от б24 в том же порядке, в каком направляет в нее запросы?
Думаю порядок не важен. Иначе себе вредить.
Есть же rest без всякого порядка и состояния


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

даже не знаю что ответить, у меня еще не сформировался дизайн.

допустим я получаю от б24 сообщие о новой сделки, апп1 пишет событие в топик1, апп2 делает первый рест реквест в б24 выясняя детали о сделке и вот тут выяняеет, что там 100 позиций. т.к. первый запрос был на сущность сделка, в ответе б24 лишь базовые поля по позициям в сделке, теперь нужно выяснить детали (остаток товара на складе, например) по 100 сущностям товар. сейчас я делаю 100 рест вызовов в б24 по каждому товару. там есть возможность формировать батч из 50 вызовов разом, но я пока не уверен что это стоит в такой ситуации использовать, т.к. батч резко нагрузит б24. а долбя по одному я размазываю нагрузку.

ну и вот, пока по моей задумке выйет, что апп2 запишет в топик2 запрос к сущности сделка, и только после ответа по сущности сделка запишет в топик2 еще 100 запросов к сущности товар.
обрабатывать топик2 запросы к б24 явно можно асинхронно, только надо продумать как такое задизайнить. видимо понятие стадия надо вводить. стадия один запрос к сделке, формирование запросов к товарам. стадия два запросы к товарам.
что-то черезчур сложно выходит.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031885
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hck2,
>апп2 делает первый рест реквест в б24 выясняя детали
= не знают приложения ничего друг о друге.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031887
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hck2,
Да. Стадия нужна.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031892
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hck2,
Тебе пробовать надо.
Все ключевые поля по заказу на 100 позиций дай в очередь. Много нельзя. Если мегабайты, то апп2 сам спросит у б24.
Если событие НовыйЗаказСформирован из б24, то нафиг тут стадии?
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031894
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и подписчики у тебя не один а два\три. 1С еще есть.
Короче цифры нужны. Что кто то задавит и нагрузит битрикс...
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031911
Кофейник2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hck2

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


б24 это приложение, которое вы делаете на спринг буте?
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031915
hck2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кофейник2
hck2

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


б24 это приложение, которое вы делаете на спринг буте?

не, б24 это битрикс24 crm. я делаю на спринг буте апп1, апп2:
https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1331858&msg=22254580
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40031932
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hck2,
>у меня еще не сформировался дизайн
ВАРИАНТ архитектуры
- апп1 выкидываем т.к. Кафка полностью заменяет его функционал
- б24 умеет рест, поэтому шлет месс Заказ на рест java
- либо кафка умеет его словить, либо апп2 ставит месс в очередь с ключиком New.
- второй модуль апп2 подписчик на данный ключик и обрабатывает заказ до стадии Сформирован
- апп2 пишет заказ уже в кафку с ключиком Сформирован.
- 1С и Отчетник подписаны на эти ключики как хотят.
Всё.
У меня так автозапчасти приходят. По статусу Сформирован я могу идти в магаз за маслом и дворниками))
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40032080
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня более простое предложение. Выкидываем кафку и заменяем нее на базу данных.

Все красиво. Транзакционно. Ничего не теряется.

Можно обсуждать детали.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40032110
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Бд ест у всех шести подсистем. У битрикса, у 1С, у app1 app2, отчетника.
И основные страхи ТС, что если апп2 в дауне, то ему надо через сутки его отремонтировать
"и чтобы ничего не пропало")))))
Наверно зеркалирование его не устраивает.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40032162
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пускай переходят на схему работы БД primary-standby. Это надежнее и провереннее чем строить самокаты.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40032167
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Да. Но это без рест и аппСервера. Это клиент-сервер на хранимках
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40032485
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp. Ну что?

Новогодняя крольчатина будет обсуждаться? Если честно у меня пока нет вопросов.
Ну по крайней мере по документации. Надо читать.

И обсуждать одиного кролика неинтересно. Авторский сайт достаточно плотно наполнен
https://www.rabbitmq.com/ инфой. Надо обсуждать то чего там нет. А нет там например ... сравнения с Кафкой.

Есть у нас вопросы по сравнению?

Привет-мир мы напишем. И ... надо его смыслом наполнить. Пускай что-то умное передает.
Например простые числа в каждом месседже.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40032496
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Ну, только за автора топика работать.
Если у тебя есть желания.
Пиво он выставит.
...
С кафкой я сравнил. Часа 3 почитал. Тоже нет вопросов).
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40032511
hck2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton,

для себя я кролик пока совсем не рассматриваю. у меня на работе юзают spark+kafka и выглядит что мне по любому в нее придется погрузиться. плюс у powerbi вроде к кафке есть коннектор, к кролику нет. потому если переделывать на очередь собирусь, наверно все же кафка. но пока я думаю, вот прямо сейчас под той нагрузкой что есть, никакого смысла кроме как пообучаться нет смысла в полновесной очереди. весной вроде из кафки выкинут zookeeper, с которым у нас боль на хадупах, может это будет тригером для меня.

что касается кролика, у меня знакомые пилят какую-то фигню для обмена валют и крипты и навелосипедили что-то свое для обмена сообщениями. говорят, что бы в пол секунды укладывать весь обмен. мне интересно на сколько кролик быстрее кафки на задаче доставки маленького сообщения, но как можно быстрее. и на сколько мое представление о том что кролик им бы идеально подошел, а кафка все таки больше про большие данные прокачивать, а не респонс тайм.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40032516
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hck2,
Большие данные не прокачивает ни какая из систем сообщений. Обычно адрес пересылают на фильм. Прямой. И по прямому уже качают. Не через шину сообщений.
Кафка скорость равна скорости самой сети. То есть тормозить ну никак не может.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40032517
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hck2,
То ты пишешь придется погрузится, то переносишь на весну.
Удачи!
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40032524
hck2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp
hck2,
Большие данные не прокачивает ни какая из систем сообщений. Обычно адрес пересылают на фильм. Прямой. И по прямому уже качают. Не через шину сообщений.


в мире хадупов есть понятие лямда архитектуры, там быстрый слой это прокачка больших данных через очередь. у всяких ораклов есть решения на тему репликации стримить оракловый лог в кафку. на сколько я знаю мы тоже пишем уже не малые данные в кафку.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40032531
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hck2
mayton,

для себя я кролик пока совсем не рассматриваю. у меня на работе юзают spark+kafka и выглядит что мне по любому в нее придется погрузиться. плюс у powerbi вроде к кафке есть коннектор, к кролику нет. потому если переделывать на очередь собирусь, наверно все же кафка. но пока я думаю, вот прямо сейчас под той нагрузкой что есть, никакого смысла кроме как пообучаться нет смысла в полновесной очереди. весной вроде из кафки выкинут zookeeper, с которым у нас боль на хадупах, может это будет тригером для меня.

По поводу zookeeper. Есть еще одна пред-новогодняя тема которую я хотел обсудить.
Это - голосование в распределенных системах и протоколы Raft и Paxos.

Если кому интересны децентрализованные системы без явного центра управления
то мы можем поднять это вместо гречневой кафки или кролика
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40032534
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hck2

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

Тут - просто тех задание тянет на синхронную систему. Может быть при такой постановке и MQ как таковые не нужны.
Их контракт больше ориентирован на пропускную способность а не на отклик. Хотя отклик в частных случаях может
быть быстрым. Но я думаю что его регулировка будет задачей бесконечной сложности. Представь ты добился что
одиночный месседж в бездействующей системе заходит от продюсера к консюмеру за 200 мс. Но стоит увеличить
скорость - и за счет acknowledges и сетевых процессов которые происходят в TCP/IP - отклик упал на 3-5 секунд
хотя в целом скорость стала еще лучше. MQ со своей задачей блестяще справляется и вроде бы претензий нету
но твоё ТЗ не выполняется.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40032535
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hck2
PetroNotC Sharp
hck2,
Большие данные не прокачивает ни какая из систем сообщений. Обычно адрес пересылают на фильм. Прямой. И по прямому уже качают. Не через шину сообщений.


в мире хадупов есть понятие лямда архитектуры, там быстрый слой это прокачка больших данных через очередь. у всяких ораклов есть решения на тему репликации стримить оракловый лог в кафку. на сколько я знаю мы тоже пишем уже не малые данные в кафку.
ну ты же понимаешь логику? Чем больше конверты ходят по шине тем медленнее?
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40032536
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hck2,
А так, получается, чел в топике "тормозит" заявляет что "мы гоняем большие данные в кафке".
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40032537
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
hck2,
Большие данные не прокачивает ни какая из систем сообщений. Обычно адрес пересылают на фильм. Прямой. И по прямому уже качают. Не через шину сообщений.
Кафка скорость равна скорости самой сети. То есть тормозить ну никак не может.

В мире big-data меняются роли между кодом и данными. Если в классическом RPC мы ходим запросом чтобы ЗАБРАТЬ
данные и подтащить их ближе к коду. То в Spark/Hadoop - данные лежат стационарно и к ним ходит код. Тоесть
мы деплоим код на те workers которые будут собирать данные с стореджей которые по сути своей банальные
файловые системы с частичным redundancy наподобие RAID-5 только помедленнее. С размером блока в 128Мб.

И поскольку наш код деплоиться максимально близко к стореджам то таких эффектов как в обычных интернетах
у нас нет. Биг-дата получает задание по интернетам но процессинг данных работает обычно только в сетях
датацентра. А там сами понимаете скорость меряется гигабитами.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40032540
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Big data не знаю. Hello world нужен.))))
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40032541
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати базовики одобрительно кивают головами, когда код идет ближе к данным.

Это - как компилляция хранимой процедуры в БД для достижения логики чуть более
сложной чем просто SELECT, посмотреть и сделать парочки UPDATES.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40032543
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Ну дак есть двухзвенка и трех.
Понятно что в двух код ближе к данным)))
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40032607
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Ну дак есть двухзвенка и трех.
Понятно что в двух код ближе к данным)))
Расстояние между "кодом и данными" одинаково в обоих архитектурах.
Трёзвенка позволяет целый ряд оптимизаций, но требует "что-то колхозить" для клиентов.
Двухзвенка имеет кучу принципиальных недостатков, но для неё существует куча готовых компонент и обвязок к ним.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40032617
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,
>Расстояние между "кодом и данными" одинаково в обоих архитектурах.
-1
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40032627
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Категоричность и отсутствие аргументов - ваш фирменный стиль.
Извините, что расстроил - больше не буду.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40032640
hck2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp
ну ты же понимаешь логику? Чем больше конверты ходят по шине тем медленнее?

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


mayton

По поводу zookeeper. Есть еще одна пред-новогодняя тема которую я хотел обсудить.
Это - голосование в распределенных системах и протоколы Raft и Paxos.

Если кому интересны децентрализованные системы без явного центра управления
то мы можем поднять это вместо гречневой кафки или кролика

на основной работе у нас zookeeper выбирает кто главный, а кто в режиме standby работает и станет главным, если с главнюку поплохеет. на мой вкус сложно как-то вышло. теперь в команде нужны люди которые глубоко понимают поведение zookeeper, знают где логи и на что обращать внимание. плюс оказалось, что выбор главнюка лишь малая часть, верно отреагировать на смену лидера бывает не так просто, не раз и не два вылавливали в этой части баги и знаем что еще какие-то есть.
сталкивались с тем что zookeeper моет быть чувствителен к i/o, он что-то типа своего лог транзакций ведет и если диск кем-то занят начинались приключения. были странные переключения когда процессор клиента занят, видимо zookeeper сервер не получил вовремя heartbeat и инициировал смену лидера.
по мне хорошая тема для отдельного топика, за одно почитать почему кафка выпиливает зукипер.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40032652
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
Категоричность и отсутствие аргументов - ваш фирменный стиль.
Извините, что расстроил - больше не буду.

Я тоже не увидел у вас аргументов. Может не дорос. Мы разными вещами в IT занимаемся.
...
Код в хранимке ближе к данным. Что тут доказывать.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40032664
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Дистанцированность" хранимки равна нулю и вообще никак не зависит от способа вызова - напрямую клиентом или через сервер приложений.

P.S.
Да, я готов аргументировать каждое своё утверждение.
Хотя, чтобы не стирать (собственные) пальцы, делаю поправку на квалификацию и не пытаюсь объяснять очевидные (с моей кочки зрения) вещи.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40032668
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я это тред с укуренным конем в атмосфере паров этилового спирта уже давно не читаю. Но все же возникает ряд вопросов:

1. Как связана "хранимка", "двухзвенка" и "шины данных" с темой топика и проблемой из первого сообщения?
2. Никто им модераторов балаган в последних 3-х темах прекратить не хочет? Лично я страдаю. Иногда в новые сообщения в темах заглядываю и моя психика не выдерживает.
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40032670
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev,
)))
С настурающим!
))
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40032672
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
p.s. Я понимаю, что при отсутвии нормальных тем/вопросов хочется хоть где-то пофлудить. (у самого такое желание). Но все же, на мой взгляд, накал бреда в последние время достигает какого-то апофиоза.

Как вариант, может создать какую нибудь флудо-тему (а ла https://www.sql.ru/forum/1040818/topik-kak-ya-lazhanulsya или https://www.sql.ru/forum/111671/izvinite-za-oftop-prosto-posmeyatsya ), закрепить ее и всех отправлять туда?
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40032691
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev, у тебя просто "ломка", брат. У меня тоже такое было после исхода на Дедофорум...

Налей себе чего-нить крепкого..
...
Рейтинг: 0 / 0
Tomcat из Spring boot перестает отвечать
    #40032719
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hck2

на основной работе у нас zookeeper выбирает кто главный, а кто в режиме standby работает и станет главным, если с главнюку поплохеет. на мой вкус сложно как-то вышло. теперь в команде нужны люди которые глубоко понимают поведение zookeeper, знают где логи и на что обращать внимание. плюс оказалось, что выбор главнюка лишь малая часть, верно отреагировать на смену лидера бывает не так просто, не раз и не два вылавливали в этой части баги и знаем что еще какие-то есть.
сталкивались с тем что zookeeper моет быть чувствителен к i/o, он что-то типа своего лог транзакций ведет и если диск кем-то занят начинались приключения. были странные переключения когда процессор клиента занят, видимо zookeeper сервер не получил вовремя heartbeat и инициировал смену лидера.
по мне хорошая тема для отдельного топика, за одно почитать почему кафка выпиливает зукипер.

Создал https://www.sql.ru/forum/1332205/prednovogodniy-protokol-vybora-mastera-v-seti-paxos-raft
...
Рейтинг: 0 / 0
174 сообщений из 174, показаны все 7 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Tomcat из Spring boot перестает отвечать
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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