Flink представляет абстракцию StateBackends.StateBackend
отвечает за локальное управление состоянием на рабочем узле, а также за проверку (и восстановление) состояния в удаленном местоположении.
По умолчанию StateBackend
- MemoryStateBackend
.Он поддерживает состояние в куче JVM рабочих (TaskManager) и проверяет его на куче JVM мастера (JobManager).Следовательно, MemoryStateBackend
не требует дополнительной настройки или внешней системы и хорош для локальной разработки.Однако он, очевидно, не масштабируется и подходит для любой серьезной рабочей нагрузки.
Flink также предоставляет FSStateBackend
, который хранит локальное состояние также в куче JVM рабочих и проверяет его на удаленную файловую систему (HDFS)., NFS, ...).Наконец, есть также RocksDBStateBackend
, который хранит состояние во встроенном хранилище значений ключей на диске (RocksDB), а также контрольные точки для удаленной файловой системы (HDFS, NFS, ...).