2.1.1Go 在百亿级分布式文件系统的实践GO CN Go在百亿级分布式文件系统的实践 徐桑迪 Juicedata 核心系统工程师 JuiceFS 简介 01 为什么选择 Go 02 基础内存优化 03 深度内存优化 04 内存快照持久化 05 第一部分 JuiceFS 简介 ’ alt=‘OCR图片’/> JuiceFS 简介 为云环境设计的分布式文件系统 兼容POSIX、HDFS和S3协议 支持回收站、目录配额、克隆 单命名空间支持百亿级文件数 errs <- s.Put(key, p) }() } ’ alt=‘OCR图片’/> 第四部分 深度内存优化 ’ alt=‘OCR图片’/> 深度内存优化 文件系统元数据服务进程: 占用近百 GiB 内存 缓存尽可能多的文件(十亿级) 高速处理元数据请求(百微秒) ’ alt=‘OCR图片’/> 深度内存优化 自主管理小对象的分配 GC 全局能看到的指针要少 map[uint32, uintptr] nodeMap[n.id] = uintptr(unsafe.Pointer(n))) ’ alt=‘OCR图片’/> 深度内存优化 结构体打包序列化和压缩 文件系统天然具有组织结构(目录树) 访问请求通常具有局部性 ’ alt=‘OCR图片’/> 结构体序列化和压缩 struct encoding ’ alt=‘OCR图片’/> 深度内存优化 动态定义参数值的意义(类似union)0 码力 | 26 页 | 894.68 KB | 1 月前3
从百度文件系统看大型分布式系统设计中的定式与创新# 从百度文件系统 看大型分布式系统设计 颜世光 百度 搜索基础架构 ## 促进软件开发领域知识与创新的传播  关注InfoQ官方信息 及时获取QCon软件开发者 大会演讲视频信息 、集群调度系统(Galaxy)、分布式协调服务(Nexus)是核心服务 • 实时任务与批量任务混合部署  Machine 1  - 背景 - 本地文件系统空间分配相关特性 - 局部性 - 延迟分配/Allocate-on-flush - Inline file/data - 空间分配 - 整体设计 - 空间分配流程 - 特殊情况 - 空间回收 - 小文件处理 - 并发问题 - 文件系统扩容 - 接口设计 接口设计 - RPC接口 - 空间分配器接口 ## 背景 根据CurveFS方案设计(总体设计,只实现了部分),文件系统基于当前的块进行实现,所以需要设计基于块的空间分配器,用于分配并存储文件数据。 ## 本地文件系统空间分配相关特性 局部性 尽量分配连续的磁盘空间,存储文件的数据。这一特性主要是针对HDD进行的优化,降低磁盘寻道时间。 延迟分配/Allocate-on-flush 几百字节的小文件不单独分配磁盘空间,直接把数据存放到文件的元数据中。 针对上述的本地文件系统特性,Curve文件系统分配需要着重考虑局部性。 虽然Curve是一个分布式文件系统,但是单个文件系统的容量可能会比较大,如果在空间分配时,不考虑局部性,inode中记录的extent数量很多,导致文件系统元数据量很大。 假如文件系统大小为1PiB,空间分配粒度为1MiB,inode中存储的extent为三元组0 码力 | 11 页 | 159.17 KB | 1 年前3
Curve文件系统元数据管理Curve文件系统元数据管理(已实现) Inode 1、设计一个分布式文件系统需要考虑的点: • 2、其他文件系统的调研总结 • 3、各内存结构体 • 4、curve文件系统的元数据内存组织 • 4.1 inode定义: • 4.2 dentry的定义: • 4.3 内存组织 5元数据分片 • 5.1 分片方式一:inode和dentry都按照parentid分片 5.1 /B/E,指向文件/A/C • 6、curve文件系统的多文件系统的设计 ## 1、 设计一个分布式文件系统需要考虑的点: 1. 文件系统的元数据是否全缓存? 2. 元数据持久化在单独的元数据服务器上?在磁盘上?在volume上? 3. inode+dentry方式?当前curve块存储的kv方式? 4. 是否有单独的元数据管理服务器? ## 2、 其他文件系统的调研总结 |fs|中心化元数据|内存 ++ stl unordered\_mapmoose, 使用c实现| |||||| ## 4、 curve文件系统的元数据内存组织 curve文件系统元数据主要有3个类型,inode,dentry,extent。 ### 4.1 inode定义: inode定义见:curve文件系统元数据proto(代码接口定义,已实现) typedef uint64_t InodeId; enum FileType0 码力 | 24 页 | 204.67 KB | 1 年前3
Curve文件系统元数据Proto(接口定义)curve文件系统元数据proto(代码接口定义,已实现) ## 1、 代码结构和代码目录 curve文件系统是相对于curve块设备比较独立的一块,在当前curve项目的目录下,增加一个一级目录curvefs,curvefs下有自己独立的proto\src\test。  ## 2、 文件系统proto定义 #### 2.1 mds.proto mds.proto /* * Copyright (c) 2020 NetEase Inc. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use0 码力 | 15 页 | 80.33 KB | 1 年前3
Curve文件系统元数据持久化方案设计0 码力 | 12 页 | 384.47 KB | 1 年前3
MongoDB 分布式架构演进## 阿里云 ## MongoDB 分布式架构演进 张友东(林青) 阿里云数据库技术团队 # MongoDB MongoDB as in "humongous". Used to describe something extremely large or important. ## MongoDB 核心优势 灵活 · 文档模型 高可用 • 复制集 可扩展 分片集群 ##0 码力 | 29 页 | 2.03 MB | 2 年前3
分布式任务系统cronsun## 分布式任务系统 cronsun 苏创绩 ## 目录 01 任务系统 02 分布式任务系统 03 cron sun 04 心得体会   分布式crontab cmd1 cmd2 Mesos 之上的具有分布式容错特性的作业调度器 1. 可替代 cron 2. 有 UI 3. 支持ISO8601标准,允许更灵活地定义调度时间 4. 支持任务依赖 ## Dkron ## 分布式高可用的任务调度系统 1. 易用、有 UI 2. 高可用 3. 可扩展性高,支持大量任务和成千上万结点 ## 我眼里的“西施” 1. 可替代 cron 2. 分布式、高可用 3. 支持多种任务属性0 码力 | 48 页 | 1.52 MB | 2 年前3
Curve 分布式存储设计## Curve 分布式存储设计 程义 — Curve Maintainer   ents/1/3/b/6/13b6145ac1674f4b66b9481848c048a7/p4_1.jpg) ## Curve块存储 ## 研究现状 1. 高性能分布式共享数据库场景 2. Curve块存储提供底层分布式共享存储 3. Polardb for PostgreSQL提供上层高性能数据库服务 4. 性能测试 1. benchmarkSQL 每分钟事务数提升39% 2. - 成本:共享一份数据,存储成本低 - 易用性:具备分布式的优势和单机体感 - 可靠性:三副本、秒级备份  计算-存储分离 ## Curve块存储 应用场景 1. 分布式块存储服务 2. KVM块存储服务 3. iSCSI协议0 码力 | 20 页 | 4.13 MB | 1 年前3
OpenShift Container Platform 4.14 分布式追踪7a79833f29ee5d1d69/p1_1.jpg) ### OpenShift Container Platform 4.14 分布式追踪 分布式追踪安装、使用与发行注记 Powered by TCPDF (www.tcpdf.org) 分布式追踪安装、使用与发行注记 ## 法律通告 Copyright $ \copyright $ 2024 Red Hat, Inc. The property of their respective owners. ## 摘要 本文档提供了有关如何在 OpenShift Container Platform 中使用分布式追踪的信息。 ## 目录 第1章 分布式追踪发行注记 ..... 3 1.1. RED HAT OPENSHIFT DISTRIBUTED TRACING PLATFORM 3.0 发行注记 ..... 3 1 第2章 分布式追踪架构 ..... 31 2.1. 分布式追踪架构 ..... 31 第3章 分布式追踪平台(JAEGER) ..... 34 3.1. 安装分布式追踪平台 JAEGER ..... 34 3.2. 配置和部署分布式追踪平台 JAEGER ..... 37 3.3. 更新分布式追踪平台 JAEGER ..... 69 3.4. 删除分布式追踪平台 JAEGER0 码力 | 100 页 | 928.24 KB | 2 年前3
共 904 条
- 1
- 2
- 3
- 4
- 5
- 6
- 91













