当前位置: 首页 > news >正文

嘉定建站公司wordpress重置密码代码

嘉定建站公司,wordpress重置密码代码,深圳市产品设计公司,做网站的公司金坛文章目录 一. 状态后端概述二. StateBackend的整体设计1. 核心功能2. StateBackend的UML3. 小结 三. StateBackend的加载与初始化1. StateBackend创建概述2. StateBackend创建过程 一. 状态后端概述 StateBackend作为状态存储后端#xff0c;提供了创建和获取KeyedStateBacke… 文章目录 一. 状态后端概述二. StateBackend的整体设计1. 核心功能2. StateBackend的UML3. 小结 三. StateBackend的加载与初始化1. StateBackend创建概述2. StateBackend创建过程 一. 状态后端概述 StateBackend作为状态存储后端提供了创建和获取KeyedStateBackend及OperatorStateBackend的方法并通过CheckpointStorage实现了对状态数据的持久化存储。 Flink支持MemoryStateBackend、FsStateBackend和RocksDBStateBackend三种类型的状态存储后端三者的主要区别在于创建的KeyedStateBackend及CheckpointStorage不同。例如MemoryStateBackend和FileStateBackend创建的是HeapKeyedStateBackendRocksDBStateBackend创建的是RocksDBKeyedStateBackend。 本文关注StateBackend的设计与实现。 二. StateBackend的整体设计 1. 核心功能 在StateBackend接口中提供了如下核心功能。 resolveCheckpoint()方法用于获取Checkpoint的Location信息Location信息包含Checkpoint元数据信息createCheckpointStorage()方法为Job创建CheckpointStorage对象CheckpointStorage提供写入Checkpoint数据和元数据信息的能力createKeyedStateBackend()方法用于创建KeyedStateBackendKeyedStateBackend提供创建和管理KeyedState的能力createOperatorStateBackend()方法主要用于创建OperatorStateBackend通过OperatorStateBackend可以创建和管理OperatorState状态数据。 2. StateBackend的UML StateBackend主要有AbstractStateBackend基本实现类该类中没有提供实质性的方法主要为了向前ing兼容。 AbstractFileStateBackend有MemoryStateBackend和FsStateBackend两种实现类其中MemoryStateBackend主要通过JobManager堆内存存储Checkpoint数据FsStateBackend通过FsCheckpointStorage将Checkpoint数据存储在指定文件系统中。 RockdsDBStateBackend也实现了StateBackend的基本功能 内存状态和其他状态管理后端不同的是它创建的KeyedStateBackend是基于RocksDB实现的RocksDBKeyedStateBackend。KeyedState数据都会存储在RocksDB内存中。持久化对于CheckpointStorage的创建RocksDBStateBackend依赖于FsStateBackend即基于文件系统对Checkpoint中的状态数据进行持久化。 3. 小结 StateBackend提供了创建CheckpointStorage、KeyedStateBackend及OperatorStateBackend的功能。 基于MemoryStateBackend可以实现非常高效的状态数据获取和存储但由于JobManager内存数量有限对比较大的状态数据无法提供更好的支持。对于RocksDBStateBackend而言可以基于RocksDB提供的LSM-TreeLog StructuredMerge-Tree内存数据结构实现更加高效的堆外内存访问支持大数据量的状态数据存储这对生产环境来讲是一个更优的选择。 三. StateBackend的加载与初始化 1. StateBackend创建概述 StateBackend主要通过StateBackendFactory接口创建。StateBackendFactory主要有MemoryStateBackendFactory、FsStateBackendFactory和RocksDBStateBackendFactory三种实现最终通过StateBackendFactory的不同实现类创建相应的StateBackend。 StateBackendFactory主要通过StateBackendLoader进行加载和创建。StateBackendLoader会根据state.backend的名称使用Java SPI技术加载相应类型的StateBackendFactory最终创建StateBackend。 2. StateBackend创建过程 StateBackend会在两个过程中创建 首先在JobMaster根据JobGraph对象创建ExecutionGraph的过程中会创建StateBackend用于CheckpointCoordinator组件管理状态和Checkpoint操作其次在每个Task实例初始化的过程中会创建StateBackend用于管理当前Task中的状态和Checkpoint数据。 接下来我们分步骤看StateBackend的创建过程。 1在StreamTask中初始化StateBackend 前面我们已经知道当StreamTask在TaskManager的Task线程中启动时会调用invoke()抽象方法运行StreamTask中的算子。此时在beforeInvoke()方法中就会调用StreamTask.createStateBackend()方法创建当前Task中使用的StateBackend。 在StreamTask.createStateBackend()方法中可以看出 // private StateBackend createStateBackend() throws Exception {//1. 从UserCodeClassLoader获取StateBackendfinal StateBackend fromApplication configuration.getStateBackend(getUserCodeClassLoader());//2. 通过应用配置还是通过集群默认配置创建StateBackendreturn StateBackendLoader.fromApplicationOrConfigOrDefault(fromApplication,getEnvironment().getTaskManagerInfo().getConfiguration(),getUserCodeClassLoader(),LOG);//用户在代码中调用StreamExecutionEnvironment.enableCheckpointing()方法时//系统默认配置主要是通过flink-conf.yaml启用StateBackend配置项。 }2StateBackendLoader加载配置的StateBackend public static StateBackend fromApplicationOrConfigOrDefault(Nullable StateBackend fromApplication,Configuration config,ClassLoader classLoader,Nullable Logger logger) throws IllegalConfigurationException, DynamicCodeLoadingException, IOException {checkNotNull(config, config);checkNotNull(classLoader, classLoader);final StateBackend backend;// 1) 如果应用配置的StateBackend不为空则最高优先级是应用中定义的//StateBackend实现类。if (fromApplication ! null) {if (logger ! null) {logger.info(Using application-defined state backend: {}, fromApplication);}// 向fromApplication中追加额外的参数配置if (fromApplication instanceof ConfigurableStateBackend) {if (logger ! null) {logger.info(Configuring application-defined state backend with job/cluster config);}// 直接从UserClassLoader中反序列化出StateBackendbackend ((ConfigurableStateBackend) fromApplication).configure(config, classLoader);}else {backend fromApplication;}}else {//检查是否开启StateBackend默认配置final StateBackend fromConfig loadStateBackendFromConfig(config, classLoader, logger);if (fromConfig ! null) {backend fromConfig;} else {//2. 如果配置为空则创建默认MemoryStateBackendbackend new MemoryStateBackendFactory().createFromConfig(config, classLoader);if (logger ! null) {logger.info(No state backend has been configured, using default (Memory / JobManager) {}, backend);}}}return backend; }3通过StateBackendFactory创建StateBackend 这里举例说明MemoryStateBackend的创建过程。从方法中调用了MemoryStateBackend()构造器创建基于堆内存的StateBackend并调用configure()方法对StateBackend进行参数配置。 public MemoryStateBackend createFromConfig(Configuration config, ClassLoader classLoader) {return new MemoryStateBackend().configure(config, classLoader); }《Flink设计与实现核心原理与源码解析》–张利兵
http://www.pierceye.com/news/146292/

相关文章:

  • linux建立网站做网站的应该怎么发广告
  • wordpress使用端口百度seo排名软
  • 用英文字母做网站关键词个人网站的设计与实现专业论文图像处理工具
  • 重庆企业网站推广流程php网站开发技术训练心得
  • 汽车销售网站学校建网站
  • 两台电脑一台做服务器 网站潍坊专业网站建设多少钱
  • 青岛科技街网站建设安徽 网站开发
  • 黑糖不苦建设的网站wordpress获取文章图片不显示
  • 美食网站建设的功能免费做简历的网站
  • 网站建设公司谁管手机如何创建网站
  • 可以自己做网站优化吗最好用的wordpress主题
  • 瓜子二手车网站开发智慧团建注册登记入口
  • 青岛网站开发建设安阳市商祺网络有限责任公司
  • 自己怎么做装修网站网站建设设计岗位职责
  • php语言 网站建设投资2 3万小生意
  • 全美网站开发微转app是用网站做的吗
  • 禹州 什么团购网站做的好广州网站建设程序开发
  • 成都市微信网站建设公司专业app开发
  • 郑州网站建设hndream神木网站设计公司
  • 关于网站集约化建设的讲话抓取网站访客qq号码
  • 南昌住房城市建设支行官方网站海洋网络提供网站建设
  • 网站外链建设的八大基本准则做网站卖得出去吗
  • 网站建设不完整 审核天元建设集团有限公司一公司尤作岭
  • 论坛程序做导航网站专做轮胎的网站
  • 网站开发软件解决方案个人网站可以做资讯吗
  • 网站右击无效是怎么做的牛商网建设的食品网站
  • 新北网站建设全网营销网站建设
  • 网站建设与管理 教学设计自己的身份已经网站备案了
  • 长沙网站列表网站开发实例及研究
  • 东莞阳光网官方网站吉林百度查关键词排名