У меня есть работа, которая потребляет от RabbitMQ, я использовал FS State Backend, но кажется, что размеры состояний стали больше, и затем я решил переместить свои состояния в RocksDB. Проблема в том, что в течение первых часов работы с заданием все в порядке, событие через большее время, если трафик становится медленнее, но затем, когда трафик снова становится высоким, у потребителя возникают проблемы (события накапливаются как неупакованные), а затем эти проблемы отражено в остальной части приложения.
У меня: 4 ядра процессора
Локальный диск
16 ГБ ОЗУ
Среда Unix
Flink 1.11
Scala версии 2.11
1 одно задание, выполняющееся с несколькими ключевыми потоками, и около 10 преобразований и опускаемся до Postgres
некоторые конфигурации
flink.buffer_timeout=50
flink.maxparallelism=4
flink.memory=16
flink.cpu.cores=4
#checkpoints
flink.checkpointing_compression=true
flink.checkpointing_min_pause=30000
flink.checkpointing_timeout=120000
flink.checkpointing_enabled=true
flink.checkpointing_time=60000
flink.max_current_checkpoint=1
#RocksDB configuration
state.backend.rocksdb.localdir=home/username/checkpoints (this is not working don't know why)
state.backend.rocksdb.thread.numfactory=4
state.backend.rocksdb.block.blocksize=16kb
state.backend.rocksdb.block.cache-size=512mb
#rocksdb or heap
state.backend.rocksdb.timer-service.factory=heap (I have test with rocksdb too and is the same)
state.backend.rocksdb.predefined-options=SPINNING_DISK_OPTIMIZED
Сообщите мне, если потребуется дополнительная информация?