CurveFS ChunkID持久化curvefs chunkid 持久化 ## 背景 1. 将原有的获取chunkid的方法从space迁入mds中,并持久化写入etcd中; 2. 只考虑单mds工作的情况; 3. chunkid全局递增。 ## 实现 1. proto/space.proto 中的 message AllocateS3ChunkRequest、message AllocateS3ChunkResponse AllocateS3Chunk 调用 ChunkIDGenerator 对象的 GenChunkID 方法; 6. ChunkIDGenerator 类 1. 构造函数 初始化 2. init 函数:用于初始化或者更改 ChunkIdAllocatorImpl 的一些配置。但是这些配置不会立即生效,而是等到当前 chunkId池枯竭时才会生效。 3. 析构函数 4. GenChunkID0 码力 | 3 页 | 79.38 KB | 1 年前3
Curve文件系统元数据持久化方案设计元数据持久化 • 前言 • Raft Log • Raft Snapshot - 持久化文件 - key value pairs - 其他说明 实现 • 1、inode、entry 的编码 • 2、KVStore • Q&A • 单靠 redis 的 AOF 机制能否保证数据不丢失? • redis 的高可用、高可扩方案? • redis + muliraft redis 中哈希表实现的优点? ## 前言 根据之前讨论的结果,元数据节点的架构如下图所示,这里涉及到两部分需要持久化/编码的内容: • Raft Log: 记录 operator log • Raft Snapshot:将内存中的数据结构以特定格式 dump 到文件进行持久化 copyset-2 copyset-1 ,用于标识该文件为 curvefs 元数据持久化文件| |version|4|文件版本号(当文件格式变化时,可以 100% 向兼容加载旧版持久化文件)| |size|8|键值对数量| |key0 码力 | 12 页 | 384.47 KB | 1 年前3
JVM 内存模型## JVM 内存模型 0 码力 | 1 页 | 48.42 KB | 2 年前3
2.1.1Go 在百亿级分布式文件系统的实践GO CN Go在百亿级分布式文件系统的实践 徐桑迪 Juicedata 核心系统工程师 JuiceFS 简介 01 为什么选择 Go 02 基础内存优化 03 深度内存优化 04 内存快照持久化 05 第一部分 JuiceFS 简介 ’ alt=‘OCR图片’/> JuiceFS 简介 为云环境设计的分布式文件系统 兼容POSIX、HDFS和S3协议 支持回收站、目录配额、克隆 单命名空间支持百亿级文件数 alt=‘OCR图片’/> 为什么选择 Go 快速开发 多线(协)程:go 关键字,channel 特性 性能分析:go tool pprof 等 故障分析:详细的 stack trace 编译速度快 内存管理:自带GC ’ alt=‘OCR图片’/> 为什么选择 Go 性能优秀:编译型语言 可移植性好:静态编译(第三方库容易有动态依赖) ’ alt=‘OCR图片’/> 为什么选择 Go 支持多语言 Java:用JNI或JNR加载共享库 C/C++:dlopen 函数加载,或者直接混合编译 Python:ctypes 模块加载共享库 ’ alt=‘OCR图片’/> 第三部分 基础内存优化 ’ alt=‘OCR图片’/> 基础内存优化 用定长 struct 代替 string // old var m map[string]int k := fmt.Sprintf("%d_%d_%d"0 码力 | 26 页 | 894.68 KB | 1 月前3
基于静态分析的Rust内存安全缺陷检测研究基于静态分析的Rust内存安全缺陷检测研究 报告人:徐辉 复旦大学 报告日期:2022.11.25 ## 大纲 一、问题背景 二、Rust指针缺陷检测方法 三、实验结论 四、论文发表心得 ## 大纲 一、问题背景 二、Rust指针缺陷检测方法 三、实验结论 四、论文发表心得 ## Rust语言 ## 系统级安全编程语言 ■ 内存安全 ■ 4_5.jpg) AWS, Huawei, Google, Microsoft, Mozilla... ## Rust如何保障内存安全? ☐ 内存安全问题产生的主要原因之一是指针别名导致悬空指针 ■ 手动释放内存或调用析构函数 函数返回时发生的自动析构或内存释放 ☐ Rust设计的目标之一是编译时检查指针别名(共享可变引用) 但一般意义上的指针分析是NP-hard问题 智能指针可行,但作为运行时方案,效率低 9ba55bcfd8da3bffc5dde2647ec86e55/p9_2.jpg) ## Rust实际表现如何? ☐ 调研了2020年12月31日前报告的185个内存安全漏洞[TOSEM'21] ■ Rust在内存安全防护方面效果不错 - 所有的漏洞(除了1个编译器漏洞)都需要unsafe code - 大部分CVEs都是 API soundness的问题(未在可执行程序中发现)0 码力 | 28 页 | 1.55 MB | 2 年前3
2.1.1 Golang主动式内存缓存的优化探索之路Golang主动式内存缓存的优化探索之路 安晏伯 学而思网校 技术专家  问题引入 01 难点攻克 02 主动式内存缓存框架 03 总结 04 ## 第一部分 ## 问题引入 ## 为什么能有极致的性能? 主动式内存缓存 如何优化? - 支持灵活的信息过滤条件  ## 内存不够用怎么办? 存储扩展,冷热数据交换  同样的性能,需要更少的硬件资源,降低成本 02 核心数据在本地,依赖少,更稳定 ## “ 通过本次分享,可以带来哪些收获? • 千万级内存对象,GC严重耗时,如何解决? - 复杂的查询场景,内存数据如何高效组织? • 主动式内存缓存,如何保证数据实时性? - 数据太多,内存不够用,如何进行存储扩展? ## 第二部分 难点攻克 ## “ ## 数据一致性如何保证? ## 一 致性 同步、更新 !0 码力 | 48 页 | 6.06 MB | 2 年前3
Java 应用与开发 - Java 内存模型与分配机制Java 内存模型与分配机制 王晓东 wangxiaodongQouc.edu.cn 中国海洋大学 September 30, 2018 Java 内 学习目标 1. 理解 JVM 内存模型,掌握 JVM 内存构成 2. 理解 Java 程序的运行过程,学会通过调 HH 变化 3. 了解 Java 内存管理,认识垃圾回收 4. 建立编程时高效利用内存、避免内存溢上 D 的理 的理 试模式观察内存的 大网 Java 内存模型 Java 程序内存运行分析 Java 内存管理建议 大纲 Java 内存模型 Java 程序内存运行分析 Java 内存管理建议 大网 Java 内存模型 Java 程序内存运行分析 Java 内存管理建议 接下来… Java 内存模型 大网 Java 内存模型 Java 内存管理建议 Java 虚拟机 (Java Virtual Machine, JVM )0 码力 | 44 页 | 818.30 KB | 2 年前3
OpenShift Container Platform 4.10 虚拟化ents/0/a/1/f/0a1fa9a06ea4418abd2bd720a7903c5d/p1_1.jpg) ### OpenShift Container Platform 4.10 虚拟化 OpenShift Virtualization 安装、使用和发行注记 Powered by TCPDF (www.tcpdf.org) OpenShift Virtualization 安装、使用和发行注记 观察节点网络状态 243 12.2. 更新节点网络配置 244 12.3. 对节点网络配置进行故障排除 256 第 13 章 日志记录、事件和监控 261 13.1. 查看虚拟化概述 261 13.2. 查看虚拟机日志 263 13.3. 查看事件 264 13.4. 使用事件和条件诊断数据卷 265 13.5. 查看有关虚拟机工作负载的信息 267 13 OpenShift 虚拟化(OpenShift virtualization)是 OpenShift Container Platform 的一个附加组件,可用于运行和管理虚拟机工作负载以及容器工作负载。 OpenShift Virtualization 通过 Kubernetes 自定义资源添加新对象至 OpenShift Container Platform 集群中,以启用虚拟化任务。这些任务包括:0 码力 | 307 页 | 3.45 MB | 2 年前3
OpenShift Container Platform 4.13 虚拟化ents/4/f/a/9/4fa94f5ec11c26725cf4fa7f08efa244/p1_1.jpg) ### OpenShift Container Platform 4.13 虚拟化 OpenShift Virtualization 安装、使用和发行注记 Powered by TCPDF (www.tcpdf.org) OpenShift Virtualization 安装、使用和发行注记 OpenShift 虚拟化(OpenShift virtualization)是 OpenShift Container Platform 的一个附加组件,可用于运行和管理虚拟机工作负载以及容器工作负载。 OpenShift Virtualization 通过 Kubernetes 自定义资源添加新对象至 OpenShift Container Platform 集群中,以启用虚拟化任务。这些任务包括: ● 通过各种控制台和 CLI 工具连接至虚拟机 导入和克隆现有虚拟机 ● 管理虚拟机上附加的网络接口控制器和存储磁盘 在节点间实时迁移虚拟机 增强版 web 控制台提供了一个图形化的门户界面 来管理虚拟化资源以及 OpenShift Container Platform 集群容器和基础架构。 OpenShift Virtualization 的设计和测试,可与 Red Hat OpenShift0 码力 | 393 页 | 4.53 MB | 2 年前3
Kubernetes Operator 实践 - MySQL容器化## Kubernetes Operator 实践 —— MySQL 容器化 刘林 搜狗资深工程师 ## 关于我  刘林 ## 搜狗商业平台研发部资深开发工程师 - 主要从事商业平台研发工作,在构建高性能、高可用大规模系统方面有丰富的实践经验 27e1bdc741/p5_1.jpg) 搜狗商业平台业务系统 搜狗商业平台基础平台 搜索推广 信息流 品牌 账户 CI&CD 物料 计费 模板管理 管理界面 自动化测试 BizNginx ( Load Balancer ) SOA服务框架 PaaS 统一服务管理 统一配置中心 Kafka Zookeeper etcd 项目管理 DevOps [Image](/uploads/documents/4/7/d/d/47dd11b40241e0917f8cd627e1bdc741/p6_8.jpg) elasticsearch ## 有状态服务容器化 ## TABLE OF CONTENTS 大纲 1. 背景介绍 2. Operator 的基本原理 3. MySQL Operator 设计实践 4. 小结 ## 带来的新挑战 无状态服务0 码力 | 42 页 | 4.77 MB | 1 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100
相关搜索词













