积分充值
 首页
前端开发
AngularDartElectronFlutterHTML/CSSJavaScriptReactSvelteTypeScriptVue.js构建工具
后端开发
.NetC#C++C语言DenoffmpegGoIdrisJavaJuliaKotlinLeanMakefilenimNode.jsPascalPHPPythonRISC-VRubyRustSwiftUML其它语言区块链开发测试微服务敏捷开发架构设计汇编语言
数据库
Apache DorisApache HBaseCassandraClickHouseFirebirdGreenplumMongoDBMySQLPieCloudDBPostgreSQLRedisSQLSQLiteTiDBVitess数据库中间件数据库工具数据库设计
系统运维
AndroidDevOpshttpdJenkinsLinuxPrometheusTraefikZabbix存储网络与安全
云计算&大数据
Apache APISIXApache FlinkApache KarafApache KyuubiApache OzonedaprDockerHadoopHarborIstioKubernetesOpenShiftPandasrancherRocketMQServerlessService MeshVirtualBoxVMWare云原生CNCF机器学习边缘计算
综合其他
BlenderGIMPKiCadKritaWeblate产品与服务人工智能亿图数据可视化版本控制笔试面试
文库资料
前端
AngularAnt DesignBabelBootstrapChart.jsCSS3EchartsElectronHighchartsHTML/CSSHTML5JavaScriptJerryScriptJestReactSassTypeScriptVue前端工具小程序
后端
.NETApacheC/C++C#CMakeCrystalDartDenoDjangoDubboErlangFastifyFlaskGinGoGoFrameGuzzleIrisJavaJuliaLispLLVMLuaMatplotlibMicronautnimNode.jsPerlPHPPythonQtRPCRubyRustR语言ScalaShellVlangwasmYewZephirZig算法
移动端
AndroidAPP工具FlutterFramework7HarmonyHippyIoniciOSkotlinNativeObject-CPWAReactSwiftuni-appWeex
数据库
ApacheArangoDBCassandraClickHouseCouchDBCrateDBDB2DocumentDBDorisDragonflyDBEdgeDBetcdFirebirdGaussDBGraphGreenPlumHStreamDBHugeGraphimmudbIndexedDBInfluxDBIoTDBKey-ValueKitDBLevelDBM3DBMatrixOneMilvusMongoDBMySQLNavicatNebulaNewSQLNoSQLOceanBaseOpenTSDBOracleOrientDBPostgreSQLPrestoDBQuestDBRedisRocksDBSequoiaDBServerSkytableSQLSQLiteTiDBTiKVTimescaleDBYugabyteDB关系型数据库数据库数据库ORM数据库中间件数据库工具时序数据库
云计算&大数据
ActiveMQAerakiAgentAlluxioAntreaApacheApache APISIXAPISIXBFEBitBookKeeperChaosChoerodonCiliumCloudStackConsulDaprDataEaseDC/OSDockerDrillDruidElasticJobElasticSearchEnvoyErdaFlinkFluentGrafanaHadoopHarborHelmHudiInLongKafkaKnativeKongKubeCubeKubeEdgeKubeflowKubeOperatorKubernetesKubeSphereKubeVelaKumaKylinLibcloudLinkerdLonghornMeiliSearchMeshNacosNATSOKDOpenOpenEBSOpenKruiseOpenPitrixOpenSearchOpenStackOpenTracingOzonePaddlePaddlePolicyPulsarPyTorchRainbondRancherRediSearchScikit-learnServerlessShardingSphereShenYuSparkStormSupersetXuperChainZadig云原生CNCF人工智能区块链数据挖掘机器学习深度学习算法工程边缘计算
UI&美工&设计
BlenderKritaSketchUI设计
网络&系统&运维
AnsibleApacheAWKCeleryCephCI/CDCurveDevOpsGoCDHAProxyIstioJenkinsJumpServerLinuxMacNginxOpenRestyPrometheusServertraefikTrafficUnixWindowsZabbixZipkin安全防护系统内核网络运维监控
综合其它
文章资讯
 上传文档  发布文章  登录账户
IT文库
  • 综合
  • 文档
  • 文章

无数据

分类

全部云计算&大数据(26)系统运维(25)存储(24)Service Mesh(17)数据库(4)云原生CNCF(4)TiDB(4)Istio(3)后端开发(1)Kubernetes(1)

语言

全部中文(简体)(51)zh(2)JavaScript(1)西班牙语(1)zh-cn(1)

格式

全部PDF文档 PDF(56)
 
本次搜索耗时 0.045 秒,为您找到相关结果约 56 个.
  • 全部
  • 云计算&大数据
  • 系统运维
  • 存储
  • Service Mesh
  • 数据库
  • 云原生CNCF
  • TiDB
  • Istio
  • 后端开发
  • Kubernetes
  • 全部
  • 中文(简体)
  • zh
  • JavaScript
  • 西班牙语
  • zh-cn
  • 全部
  • PDF文档 PDF
  • 默认排序
  • 最新排序
  • 页数排序
  • 大小排序
  • 全部时间
  • 最近一天
  • 最近一周
  • 最近一个月
  • 最近三个月
  • 最近半年
  • 最近一年
  • pdf文档 Curve支持S3 数据缓存方案

    © XXX Page 1 of 9 Curve支持S3 数据缓存方案© XXX Page 2 of 9 版本 时间 修改者 修改内容 1.0 2021/8/18 胡遥 初稿 背景 整体设计 元数据采用2层索引 对象名设计 读写缓存分离 缓存层级 对外接口 后台刷数据线程 本地磁盘缓存 关键数据结构 详细设计 Write流程 Read流程 ReleaseCache流程 3操作过多 2.对于4k 小io每次都要和s3交互,导致性能非常差。 因此需要通过Cache模块解决以上2个问题。 整体设计 整个dataCache的设计思路,在写场景下能将数据尽可能的合并后flush到s3上,在读场景上,能够预读1个block大小,减少顺序读对于底层s3的访问频次。从这个思路上该缓存方案主要针对的场景是顺序写和顺序 读,而对于随机写和随机读来说也会有一定性能提升,但效果可能不会太好。 的目的是为了后续从对象存储上遍历,反查文件,这里就要求inodeId是永远不可重复。 读写缓存分离 读写缓存的设计采用的是读写缓存分离的方案。 写缓存一旦flush即释放,读缓存采用可设置的策略进行淘汰(默认LRU),对于小io进行block级别的预读。 即读写缓存相互没影响不相关, 缓存层级 缓存层级分为fs->file->chunk->datacache 4层,通过inodeId找到f
    0 码力 | 9 页 | 179.72 KB | 5 月前
    3
  • pdf文档 CurveFS S3本地缓存盘方案

    Page 1 of 9 Curvefs-S3 本地写缓存盘方案© XXX Page 2 of 9 背景 方案设计 主要数据结构定义 方案设计思考 POC验证 背景 当前,s3客户端在写底层存储的时候是直接写入远端对象存储,由于写远端时延相对会较高,所以为了提升性能,引入了写本地缓存盘方案。也即要写底层存储时,先把数据写到本地缓存硬盘,然后再把本地缓存 硬盘中的数据异步上传到远端对象存储。 方案设计© S3模块接收到写入后先写入写内存缓存页,如果满足持久化的条件后,那么则准备持久化。 如果未配置本地硬盘作为写缓存,那么直接持久化到远端的对象存储;如果配置了本地硬盘作为写缓存,那么则尝试先写入本地硬盘写缓存目录。 写本地硬盘缓存目录之前先判断缓存目录容量是否已达到阈值,如果已经达到阈值,那么则直接写入到远端对象存储;否则,则写入到本地硬盘写缓存目录中。文件写入本地硬盘写缓存目录后,从本地硬盘读目录© 4 of 9 做一个硬链接链接到该文件。 本次io在本地硬盘写入好之后,异步上传模块会适时把本地硬盘写缓存目录中的文件上传到远端对象存储集群,上传成功后,删除本地写缓存目录中的对应文件。 同时,缓存清理模块会定时检查本地硬盘缓存目录容量情况,如果容量已经达到阈值了,则进行文件的清理工作。 另外,异常管理模块处理客户端挂掉后的文件重新上传问题。 主要数据结构定义 class DiskCacheManagerImpl
    0 码力 | 9 页 | 150.46 KB | 5 月前
    3
  • pdf文档 CurveFS Client 概要设计

    rmdir opendir readdir getattr & setattr access rename symlink & readlink link flush & fsync 其他 功能分析 模块划分 接口设计 Cache设计 时间 作者 内容 2021-04-27 许超杰 初稿 背景 CurveFS初步设计见 , 目前需细化Client端设计 block),缓存到client端。 destroy void (*destroy) (void *userdata); 清理init缓存的文件系统信息。 lookup void (*lookup) (fuse_req_t req, fuse_ino_t parent, const char *name); 根据parent inode id和name从denty缓存中找到对应的denty结构; nty结构; 如果dentry缓存中不存在对应的inode,则从mds根据parent inode id获取parent inode 所在copyset,metaserver ip等信息 ,然后从metaserver获取denty(这里有两种方式,一种是只获取当前需要的 denty,一种是list整个目录的denty,这个需要考虑用哪个接口) 根据找到的denty结构,获取inodeid,设置
    0 码力 | 11 页 | 487.92 KB | 5 月前
    3
  • pdf文档 CurveFS Copyset与FS对应关系

    3、创建文件/目录 6.4、open流程 6.5、读写流程 6.6、topology 7、工作评估 7.1 client端 7.2 mds端 7.3 metaserver端 metaserver 子模块拆分 8、inode和dentry的内存估算 8.1 一台机器上能存放多少个inode和dentry 8.2 一台机器上建议的copyset数量 8.3 每个copyset建议管理存储容量的大小 思路二:client在创建inode的时候,自己选择一个分片,然后由这个分片自己分配一个inode。采用这种思路,在create fs的时候,就为fs准备好的几个copyset,然后client把copyset缓存在本地。每个copyset管理一段inode。选定copyset,就选定了服务的3个metaserver。至于均衡上,创建inode的时候,轮流在这个fs的copyset 上进行创建。这种方式肯定不 Page 15 of 19 6.5、读写流程 读写流程和之前的读写流程大致保持不变。变化点在于之前inode修改是直接去metaserver上修改,现在变成了去copyset上修改。 client端缓存所有open的inode,读写的时候,根据inode的元数据,去对应的volume或者S3进行读写。如果涉及到inode的修改,根据inodeId查询对应的copyset,去对应的copyset进行inode的更新。
    0 码力 | 19 页 | 383.29 KB | 5 月前
    3
  • pdf文档 Curve核心组件之Client - 网易数帆

     FileInstance:对应一个已挂载的卷  LeaseExecutor:负责定期与MDS通信,获取卷的元数据信息  元数据信息在打快照时会进行变化  MetaCache:元数据缓存  IOTracker:跟踪一个上层IO请求  IOSplitor:IO转换拆分  ChunkClient、CliClient:与Chunkserver进行通信  前者负责IO请求 向cinder/glance提供了Python API https://github.com/opencurve/curve-qemu-block-driver NBD: 实现了Curve-NBD,与内核NBD模块进行交互 可以作为容器的数据存储 CSI插件也已经开源: https://github.com/opencurve/curve-csi CLIENT上层应用CLIENT虚拟块设备CLIENT主要功能  数据面:AioWrite/AioRead、Write/Read  控制面:Create/Delete、Open/Close、Rename等  IO处理:转换、拆分、合并  元数据获取及缓存  逻辑chunk与物理chunk映射关系  物理chunk所属的复制组(copyset)  复制组所在的chunkserver列表  复制组的leader信息  Failover支持
    0 码力 | 27 页 | 1.57 MB | 5 月前
    3
  • pdf文档 TiDB中文技术文档

    是无状态的,其本身并不存储数据,只负责计算,可以无限水平扩展,可以通过负载均衡组件(如 LVS、HAProxy 或 F5)对外提供统一的接入地址。 Placement Driver (简称 PD) 是整个集群的管理模块,其主要工作有三个: 一是存储集群的元信息(某个 Key 存储在哪个 TiKV 节点);二是对 TiKV 集群进行调度和负载均衡(如数据的迁移、Raft group leader 的迁 移等);三是分配全局唯一且递增的事务 是无状态的,其本身并不存储数据,只负责计算,可以无限水平扩展,可以通过负载均衡组件(如 LVS、HAProxy 或 F5)对外提供统一的接入地址。 Placement Driver (简称 PD) 是整个集群的管理模块,其主要工作有三个: 一是存储集群的元信息(某个 Key 存储在哪个 TiKV 节点);二是对 TiKV 集群进行调度和负载均衡(如数据的迁移、Raft group leader 的迁 移等);三是分配全局唯一且递增的事务 场景提供一站式的解决方案。 本指南为您介绍如何使用 TiDB-Ansible 快速部署一个 TiDB 集群,并了解 TiDB 的基本操作和管理。 本节具体介绍如何部署一个 TiDB 集群。一个 TiDB 集群由不同的模块组成,包括:TiDB 服务器、TiKV 服务 器、Placement Driver (PD) 服务器。 架构图如下所示: 参考 TiDB Ansible 部署方案。 本节具体介绍 TiDB 中基本的增删改查操作。
    0 码力 | 444 页 | 4.89 MB | 5 月前
    3
  • pdf文档 大规模微服务架构下的Service Mesh探索之路

    需要请求同步阻塞等待的功能都应该在 Sidecar中完成 • 远程调用带来的性能开销代价太高 • 其他尽量优化为异步或者批量Istio的解决方案:添加Mixer Cache ü 缓存的工作方式: • Sidecar 中包含本地缓存,一部分的前置 检查可以通过缓存来进行 • 另外,Sidecar 会把待发送的Report数据 进行缓冲,这样可能在多次请求之后才调 用一次 Mixer • 前置检查和配额是同步的 • 实现跨注册中心的服务调用 ü 支持异构 • 实现方式不同的注册中心 • 向Service Mesh的过渡 • 两个非Service Mesh的打通 ü 终极形态 • 跨集群 + 异构同时支持 • 配合其他模块实现更灵活的服务间通讯 增强版Pilot:梦幻级服务注册和治理中心 服务 治理 中心 服务注册中心 A P I 接 口 抽 象 模 型 Sofa Registry K8S实现 Consul实现 内部使用同样产品落地 ü 开源的动机 • 吸引社区,谋求合作,开源共建 ü 开源项目的维护 • 内部使用,保证持续投入 • 请放心Sofa Mesh的合作模式:多层次全方位开放 基础类库 功能模块 完整产品 解决方案 服务注册 熔断 RPC 路由规则 负载均衡 限流 加密 认证 Golang Sidecar 增强版本 Pilot Edge Sidecar 服务治理 中心
    0 码力 | 37 页 | 7.99 MB | 5 月前
    3
  • pdf文档 Curve核心组件之mds – 网易数帆

    元数据信息。 • Nameserver: 管理文件的元数据信息。 • Copyset: 副本放置策略。 • Heartbeat: 心跳模块。跟chunkserver进行交互,收集chunkserver上的负载信息、 copyset信息等。 • Scheduler: 调度模块。用于自动容错和负载均衡。TOPOLOGY topology用于管理和组织机器,利用底层机器的放置、网络的规划以面向业务提供如下功能和非功能需求。 user 3、查询leader节点 4、向leader cs发起请求 1. 用户发起请求(fd, offset, length) ; 2. Client 向 mds 查询请求的元数据, 并缓存到本地,请求转换为对 chunk 的请求 (CopysetId ,chunkId, offset in chunk, length in chunk); 3. Client 向 chunkserver offline) • 记录chunkserver定期上报的状态信息(磁盘容量,磁盘负载,copyset负载等),以提供运维工 具查看上述状态信息。 • 通过上述信息的定期更新,作为schedule 模块进行均衡及配置变更的依据 • 通过chunkserver定期上报copyset的copyset的epoch, 检测chunkserver的copyset与mds差异,同 步两者的copyset信息
    0 码力 | 23 页 | 1.74 MB | 5 月前
    3
  • pdf文档 CurveFS方案设计

    的元数据缓存使用的 lru cache,因此 list 只能依赖 etcd 的 range 获取方式。如果需要对 list 加速,需要新的缓存结构 c. 扩展性/可用性/可靠性 依赖于第三方kv存储,目前是etcd CurveFS 单机内存元数据设计 类似 fastcfs 和 moosefs 的元数据设计方式,采用通用的 dentry,inode 两层映射关系,所有的元数据都缓存在内存中,持久化在 master-slave 的方式,master 以同步方式调用 slave,slave 在内存中也缓存了全部元数据信息 master-slave 多副本数据 CurveFS 分布式元数据设计 类似 chubaofs 的元数据设计方式,同样是采用 dentry,inode 两层映射关系,所有的元数据都缓存在内存中。元数据是分片的,使用 multi-raft 持久化元数据以及保证多副本数据一致性。基于这种方式开发: apply的时候是以kv的方式写入到文件,因此可以复用这个逻辑。 客户端感知文件版本号。如果版本号变更,就触发raft的sanpshot,并且只apply小于版本号的部分 这种方式相当于每次都是全量缓存当前元数据,不做增量快照,考虑到转储逻辑,这也是可以接受的 对比这两种方案,第一种方案对于copy场景是友好的,但需要重新实现一套快照逻辑;第二种方案的改动和实现相对简单,并且对于需要备份的
    0 码力 | 14 页 | 619.32 KB | 5 月前
    3
  • pdf文档 Rust 程序设计语言 简体中文版 1.85.0

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 7. 使用包、Crate 和模块管理不断增长的项目 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 7.2. 定义模块来控制作用域与私有性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 7.3. 引用模块树中项的路径 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 7.5. 将模块拆分成多个文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
    0 码力 | 562 页 | 3.23 MB | 9 天前
    3
共 56 条
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
前往
页
相关搜索词
Curve支持S3数据缓存方案CurveFS本地Client概要设计CopysetFS对应关系核心组件网易数帆TiDB中文技术文档大规规模大规模微服架构ServiceMesh探索mds方案设计Rust程序程序设计语言简体文版中文版简体中文版1.85
IT文库
关于我们 文库协议 联系我们 意见反馈 免责声明
本站文档数据由用户上传或本站整理自互联网,不以营利为目的,供所有人免费下载和学习使用。如侵犯您的权益,请联系我们进行删除。
IT文库 ©1024 - 2025 | 站点地图
Powered By MOREDOC AI v3.3.0-beta.70
  • 关注我们的公众号【刻舟求荐】,给您不一样的精彩
    关注我们的公众号【刻舟求荐】,给您不一样的精彩