поэтому начните с настройки
Сервер (узл кластера 4)
ресурсы для 1 узла
< ul>
[*]12 процессоров (48 кластеров)
[*]32 ГБ ОЗУ
Конфигурация Ignite (не по умолчанию)
- режим сервера (без клиента, только сервер)
- activeJobs = 500
- publicPoolSize = 500
- waitJobs = 500
- messageExpireTime = 3000
- PersistenceEnabled = false
- PeerClassLoadingEnabled = true
- DefaultDataRegionConfiguration.InitialSize = 134217728
- DefaultDataRegionConfiguration.allocatedMemory = 3221225472
Конфигурация кэша - Атомное
- реплицированное
- spring boot 2.4.5
- ignite 2.12
- java 8
- kafka 2.2 .8.РЕЛИЗ
Итак, перейдем к проблеме.
У меня мало кешей (15), загружайте кеш из БД при запуске кластера и обновить данные из Kafka.
11 кешей обновляются с помощью ignite.dataStreamer
4 с помощью обычного @KafkaListener, потому что мне нужно прослушивать 2 таблицы, но эти таблицы распределяют данные по 4 кешам для большей скорости, когда мне нужно получить данные из кеш (я получаю данные по ключу, а не по запросу). А @KafkaListener работает на 1 узле
и теперь иногда у меня возникают БОЛЬШИЕ проблемы (!!!). В обычном случае я читаю и обновляю запись кэша 1,5 тыс. (MAX_POLL_RECORDS_CONFIG) за 0,1 мс - 5 секунд, но иногда она сломана и не может прочитать ее быстро. Он прочитал 1,5 КБ, начал читать следующие 1,5 КБ и делал это так медленно... затем Кафка начал ребалансировку и повторил это снова... Эта проблема не зависит от подсчета записей в Кафке, потому что он может прочитать 1 миллион записей за 5 минут и прочитать 50 тыс. за 4 часа. Но эта проблема может решиться сама собой без моего участия, через несколько часов она начнет работать нормально
Я не уверен, на что мне следует обратить внимание. Потому что, возможно, это ресурсы (малая вероятность), или архитектура, или версии, или конфигурации. Помогите пожалуйста найти верный путь, ибо на тестовом стенде проблема НЕ ПОВТОРЯЕТСЯ! (плакать)
что я еще пробовал?
- оптимизировать код
- изменить конфигурации
- изменить ОЗУ на сервере
- поднять другой кластер, создать полный кластер копирования и подключиться подтолкнуть Кафку к обновлению данных, равному производству, но без запроса от клиентов. Запрос от клиента AVG 30 об/с, ответ 75 мс. Проблема не повторяется
на последних экранах с плохой работой я останавливаю KafkaListener на 4 узлах, загрузите кеш из БД и снова запустите KafkaListener, и он запустится нормально
- хорошая работа
- плохая работа

[img]https://i.sstatic.net /jtSGJWVF.png[/img]

- перед загрузкой кэш
2024-11-12 12:46:56.202 Метод UpdateOrCreate завершает 493219071 размер 1500 время 2024-11-12T12:46:56.202
2024-11-12 12:46:56.203 Метод UpdateOrCreate 493219071 завершен к 11
2024-11 -12 12:46:56.203 Завершение ProcessStockDetailMessage StockDetailListener 493219071 время 2024-11-12T12:46:56.203
2024-11-12 12:46:56.203 ProcessStockDetailMessage StockDetailListener 493219071 завершено 11
2024-11-12 12:46:56.216 ProcessStockDetailMessage start StockDetailListener 777503849 время 2024-11-12T12:46:56.216
2024-11-12 12:46:56.721 Запуск метода UpdateOrCreate 777503849 размер 1500 время 2024-11-12T12:46:56.721
2024-11-12 12:50:29.701 [kafka-coordinator-heartbeat-thread | PriceServiceCommonConsumerFactory] AbstractCoordinator — попытка контрольного сигнала не удалась, так как группа выполняет повторную балансировку
2024-11-12 12:50:44.768 [kafka-coordinator-heartbeat-thread | PriceServiceCommonConsumerFactory] AbstractCoordinator — попытка контрольного сигнала не удалась, так как группа перебалансируется
2024-11-12 12:52:43.033 Завершение метода UpdateOrCreate 777503849 размер 1500 время 2024-11-12T12:52:43.033< /p>
2024-11-12 12:52:43.033 Метод UpdateOrCreate 777503849 завершен на 346
2024-11-12 12:52:43.033 ProcessStockDetailMessage завершает StockDetailListener 777503849 time 2024-11-12T12:52:43.033
2024-11-12 12:52:43.034 ProcessStockDetailMessage StockDetailListener 777503849 завершено 346
после загрузки кеша
2024-11-12 14:08:41.222 ProcessStockDetailMessage start StockDetailListener 1575333558 время 2024-11-12T14:08:41.222
2024-11-12 14:08:41.363 Запуск метода UpdateOrCreate 1575333558 размер 411 время 2024-11-12T14:08:41.363
2024-11-12 14:08:43.113 Метод UpdateOrCreate завершает 1575333558 размер 411 время 2024-11-12T14:08:43.113
2024-11-12 14:08:43.113 Метод UpdateOrCreate 1575333558 завершен к 1
2024-11 -12 14:08:43.113 Завершение ProcessStockDetailMessage StockDetailListener 1575333558 время 2024-11-12T14:08:43.113
2024-11-12 14:08:43.113 ProcessStockDetailMessage StockDetailListener 1575333558 завершено на 1
2024-11-12 14:08:43.282 ProcessStockDetailMessage start StockDetailListener 433660022 время 2024-11-12T14:08:43.282
2024-11-12 14:08:43.776 Запуск метода UpdateOrCreate 433660022 размер 1500 раз 2024-11-12T14:08:43.776
2024-11-12 14:08:48.900 Метод UpdateOrCreate завершает 433660022 размер 1500 раз 2024-11-12T14:08:48.900
2024-11-12 14:08:48.900 Метод UpdateOrCreate 433660022 завершен к 5
2024-11 -12 14:08:48.900 Завершение ProcessStockDetailMessage StockDetailListener 433660022 время 12.11.2024T14:08:48.900
12.11.2024 14:08:48.900 ProcessStockDetailMessage StockDetailListener 433660022 завершено 5
Подробнее здесь: https://stackoverflow.com/questions/791 ... che-update