求 分布式对象存储 原理 架构及Go语言实现 pdf

网上科普有关“求 分布式对象存储 原理 架构及Go语言实现 pdf”话题很是火热,小编也是针对求 分布式对象存储 原理 架构及Go语言实现 pdf寻找了一些与之相关的一些信息进...

网上科普有关“求 分布式对象存储 原理 架构及Go语言实现 pdf”话题很是火热,小编也是针对求 分布式对象存储 原理 架构及Go语言实现 pdf寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。

分布式存储架构由三个部分组成:客户端、元数据服务器和数据服务器。客户端负责发送读写请求,缓存文件元数据和文件数据。元数据服务器负责管理元数据和处理客户端的请求,是整个系统的核心组件。数据服务器负责存放文件数据,保证数据的可用性和完整性。该架构的好处是性能和容量能够同时拓展,系统规模具有很强的伸缩性。

对象存储最常用的方案,就是多台服务器内置大容量硬盘,再装上对象存储软件,然后再额外搞几台服务作为管理节点,安装上对象存储管理软件。管理节点可以管理其他服务器对外提供读写访问功能。

之所以出现了对象存储这种东西,是为了克服块存储与文件存储各自的缺点,发扬它俩各自的优点。简单来说块存储读写快,不利于共享,文件存储读写慢,利于共享。能否弄一个读写快,利 于共享的出来呢。于是就有了对象存储。

Minio对象存储技术

MinIO是一种高性能对象存储解决方案,原生支持Kubernetes部署。MinIO提供与AmazonWebServicesS3兼容的API并支持所有核心S3功能。MinIO是在GNUAffero通用公共许可证v3.0下发布的。

也许提起对象存储技术,我们都经历过Fastdfs长时间的拉锯战,即使现在大部分都在使用云服务厂商提供的OSS对象存储服务,但是其所花费的经济成本也是递增的,而且数据都存储在别人的服务器上,从一定程度上来说,对于文件资源的把控粒度是极其不可控制,公网数据是何其的没有隐私可言。虽然,对于开发层面上来说,只需要整合对应的SDK,对其使用已经是开箱即用。但是,对于选择自研对象存储技术来说,Minio何尝不失为一大利器。其搭建过程与整合方面,几乎已经没有什么瓶颈可言。不论是从传统服务器的安装,还是基于Docker以及Kubernetes的部署,简直简单得不要不要的。

基本概述

MinIOsupportsthewidestrangeofusecasesacrossthelargestnumberofenvironments.Cloudnativesinceinception,MinIO’ssoftware-definedsuiterunsseamlesslyinthepubliccloud,privatecloudandattheedge-makingitaleaderinthehybridcloud.Withindustryleadingperformanceandscalability,MinIOcandeliverarangeofusecasesfromAI/ML,analytics,backup/restoreandmodernwebandmobileapps.

MinIO在最大数量的环境中支持最广泛的用例。自云原生以来,MinIO的软件定义套件在公共云、私有云和边缘无缝运行——使其成为混合云的领导者。凭借行业领先的性能和可扩展性,MinIO可以提供一系列用例,包括AI/ML、分析、备份/恢复以及现代Web和移动应用程序。

HybridCloud:混合云

Borncloudnative:云原生

MinIOispioneeringhighperformanceobjectstorage:高性能对象存储的先驱

Builtontheprinciplesofwebscale:建立在网络规模的原则上

The#1opensourceobjectstore.Andthemostenterpriseready.开源对象存储,并且最适合企业

ThedefactostandardforAmazonS3compatibility:AmazonS3兼容性的事实标准

Simplypowerful:简单强大[极简主义]

基本特点

MinIO的企业级特性代表了对象存储空间的标准。从AWSS3API到S3Select以及我们对内联擦除编码和安全性的实施,我们的代码广受赞誉,并经常被一些技术和商业领域的大腕复制。

ErasureCoding:纠错码

MinIO使用以汇编代码编写的每个对象内联擦除编码来保护数据,以提供尽可能高的性能。MinIO使用Reed-Solomon代码将对象条带化为具有用户可配置冗余级别的数据和奇偶校验块。MinIO的ErasureCoding在对象级别执行修复,可以独立修复多个对象。

在N/2的最大奇偶校验下,MinIO的实现可以确保在部署中仅使用((N/2)+1)个操作驱动器进行不间断的读写操作。例如,在12个驱动器的设置中,MinIO将对象分片到6个数据和6个奇偶校验驱动器,并且可以可靠地写入新对象或重建现有对象,而部署中仅剩下7个驱动器。

BitrotProtection:Bitrot保护

静默数据损坏或bitrot是磁盘驱动器面临的严重问题,导致数据在用户不知情的情况下损坏。原因是多方面的(驱动器老化、电流峰值、磁盘固件中的错误、幻像写入、读取/写入方向错误、驱动程序错误、意外覆盖),但结果是一样的-数据受损。

MinIO对HighwayHash算法的优化实现确保它永远不会读取损坏的数据-它即时捕获和修复损坏的对象。通过在READ上计算散列并在从应用程序、网络到内存/驱动器的WRITE上对其进行验证来确保端到端的完整性。该实现专为速度而设计,可以在IntelCPU的单核上实现超过10GB/秒的散列速度。

Encryption:加密处理

在飞行中加密数据是一回事;保护静态数据是另一回事。MinIO支持多种复杂的服务器端加密方案来保护数据——无论数据在哪里。MinIO的方法以可忽略的性能开销确保机密性、完整性和真实性。使用AES-256-GCM、ChaCha20-Poly1305和AES-CBC支持服务器端和客户端加密。

加密对象使用AEAD服务器端加密进行防篡改。此外,MinIO与所有常用的密钥管理解决方案(例如HashiCorpVault)兼容并经过测试。MinIO使用密钥管理系统(KMS)来支持SSE-S3。

如果客户端请求SSE-S3或启用自动加密,则MinIO服务器使用唯一的对象密钥加密每个对象,该对象密钥受KMS管理的主密钥保护。鉴于极低的开销,可以为每个应用程序和实例打开自动加密。

IdentityManagement:身份管理

MinIO支持身份管理中最先进的标准,与OpenID连接兼容提供商以及关键的外部IDP供应商集成。这意味着访问是集中的,密码是临时的和轮换的,而不是存储在配置文件和数据库中。此外,访问策略是细粒度和高度可配置的,这意味着支持多租户和多实例部署变得简单。

ContinuousReplication:连续复制

传统复制方法的挑战在于,它们无法有效扩展超过数百TB。话虽如此,每个人都需要一个复制策略来支持灾难恢复,并且该策略需要跨越地域、数据中心和云。

MinIO的持续复制专为大规模、跨数据中心部署而设计。通过利用Lambda计算通知和对象元数据,它可以高效快速地计算增量。Lambda通知确保更改立即传播,而不是传统的批处理模式。

连续复制意味着如果发生故障,即使面对高度动态的数据集,数据丢失也将保持在最低限度。最后,与MinIO所做的一样,持续复制是多供应商的,这意味着您的备份位置可以是从NAS到公共云的任何位置。

GlobalFederation:全球联合会

现代企业到处都有数据。MinIO允许将这些不同的实例组合起来形成一个统一的全局命名空间。具体来说,可以将任意数量的MinIO服务器组合成一个分布式模式集,多个分布式模式集可以组合成一个MinIO服务器联合。每个MinIOServerFederation都提供统一的管理和命名空间。

MinIO联合服务器支持无限数量的分布式模式集。这种方法的影响是对象存储可以为大型、地理分布的企业大规模扩展,同时保留从单个控制台容纳各种应用程序(Splunk、Teradata、Spark、Hive、Presto、TensorFlow、H20)的能力。

Multi-CloudGateway:多云网关

所有企业都在采用多云战略。这也包括私有云。因此,您的裸机虚拟化容器和公共云服务(包括Google、Microsoft和阿里巴巴等非S3提供商)必须看起来相同。虽然现代应用程序具有高度可移植性,但支持这些应用程序的数据却不是。

让这些数据无论位于何处都可用,是MinIO解决的主要挑战。MinIO在裸机、网络附加存储和每个公共云上运行。更重要的是,MinIO通过AmazonS3API确保您从应用程序和管理的角度来看这些数据的视图看起来完全相同。

MinIO可以走得更远,使您现有的存储基础设施与AmazonS3兼容。影响是深远的。现在,组织可以真正统一他们的数据基础设施——从文件到块,所有这些都显示为可通过AmazonS3API访问的对象,而无需迁移。

WORM:WORM对象锁定

启用WORM后,MinIO会禁用所有可能改变对象数据和元数据的API。这意味着一旦写入的数据就可以防篡改。这对于许多不同的监管要求具有实际应用。

基本架构

MinIO被设计为云原生,可以作为由外部编排服务(如Kubernetes)管理的轻量级容器运行。整个服务器是一个约40MB的静态二进制文件,并且在使用CPU和内存资源方面非常高效-即使在高负载下也是如此。结果是您可以在共享硬件上共同托管大量租户。

MinIO在带有本地连接驱动器(JBOD/JBOF)的商用服务器上运行。集群中的所有服务器的能力相同(完全对称架构)。没有名称节点或元数据服务器。

MinIO将数据和元数据作为对象一起写入,无需元数据数据库。此外,MinIO将所有功能(擦除代码、bitrot检查、加密)作为内联、严格一致的操作执行。结果是MinIO非常有弹性。

每个MinIO集群是一组分布式MinIO服务器,每个节点一个进程。MinIO作为单个进程在用户空间运行,并使用轻量级协程来实现高并发。驱动器被分组到擦除集(默认情况下每组16个驱动器),并且使用确定性散列算法将对象放置在这些集上。

MinIO专为大规模、多数据中心的云存储服务而设计。每个租户运行自己的MinIO集群,与其他租户完全隔离,使他们能够保护他们免受升级、更新和安全事件的任何中断。每个租户通过跨地域联合集群来独立扩展。

MinIO服务器功能

MinIO的企业级特性代表了对象存储空间的标准。从AWSS3API到S3Select以及我们对内联擦除编码和安全性的实施,我们的代码广受赞誉,并经常被一些技术和商业领域的大腕复制。

MinIO对象保留

默认情况下,对唯一对象名称的每次新写入操作都会导致覆盖该对象。您可以将MinIO配置为创建每个对象突变的版本,从而保留该对象的完整历史记录。MinIO还支持一次写入多次读取(WORM)锁定版本化对象,以确保在指定的持续时间内或直到显式解除锁定为止的完全不变性。

版本控制和对象锁定功能仅适用于分布式MinIO部署:

BucketVersioning:存储桶版本控制

MinIO支持在单个存储桶中保存对象的多个“版本”。通常会覆盖现有对象的写入操作会导致创建新的版本化对象。MinIO版本控制可防止意外覆盖和删除,同时支持“撤消”写入操作。存储桶版本控制是配置对象锁定和保留规则的先决条件。

对于版本化存储桶,任何改变对象的写入操作都会导致该对象的新版本具有唯一的版本ID。MinIO标记客户端默认检索的对象的“最新”版本。然后,客户端可以明确选择列出、检索或删除特定对象版本。

其中:

具有单一版本的对象:MinIO为每个对象添加一个唯一的版本ID作为写入操作的一部分。

2.具有多个版本的对象:MinIO保留对象的所有版本,并将最新版本标记为“最新”。

3.检索最新的对象版本

4.检索特定对象版本

WORM:对象锁定

MinIO对象锁定(“对象保留”)强制执行一次写入多次读取(WORM)不变性以保护版本化对象不被删除。MinIO支持基于持续时间的对象保留和无限期合法保留保留。

MinIO对象锁定提供关键数据保留合规性,并符合CohassetAssociates的SEC17a-4(f)、FINRA4511(C)和CFTC1.31(c)-(d)要求。

其中:

不带锁的桶:MinIO版本控制保留了对象突变的完整历史。但是,应用程序可以明确删除特定的对象版本。

带锁的桶:对存储桶中的对象应用默认的30天WORM锁定可确保所有对象版本的最短保留期和保护期。

3.锁定桶中的删除操作:删除操作遵循版本化存储桶中的正常行为,其中MinIODeleteMarker为对象创建一个。但是,对象的非删除标记版本仍受保留规则约束,并且不会受到任何特定删除或覆盖尝试的影响。

4.锁定存储桶中的版本化删除操作:MinIO会阻止任何删除在WORM锁定下持有的特定对象版本的尝试。客户端可以删除版本的最早可能时间是锁定到期时。

Minio部署和管理

MinIO是一个软件定义的高性能分布式对象存储服务器。您可以在消费级或企业级硬件以及各种操作系统和架构上运行MinIO。

MinIO支持两种部署模式:独立和分布式:

独立部署:具有单个存储卷或文件夹的单个MinIO服务器。独立部署最适合使用MinIO进行对象存储的应用程序的评估和初始开发,或为单个存储卷提供S3访问层。独立部署不提供对全套MinIO高级S3特性和功能的访问。

分布式部署:一台或多台MinIO服务器,所有服务器上至少有四个总存储卷。分布式部署最适合生产环境和工作负载,并支持MinIO的所有核心和高级S3特性和功能。对于生产环境,MinIO建议使用4个节点和4个驱动器的基线拓扑。

关于“求 分布式对象存储 原理 架构及Go语言实现 pdf”这个话题的介绍,今天小编就给大家分享完了,如果对你有所帮助请保持对本站的关注!

本文来自作者[巴慧娇]投稿,不代表空气号立场,如若转载,请注明出处:https://www.haokongqi.org.cn/cshi/202505-1738.html

(167)

文章推荐

  • 参加科普活动心得体会【三篇】

    网上科普有关“参加科普活动心得体会【三篇】”话题很是火热,小编也是针对参加科普活动心得体会【三篇】寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。#心得体会#导语科普活动是以科普为主题开展的一种有组织、有目的的群体性活动,旨在向公众普及科学技术知识、倡导

    2024年12月15日
    50
  • 华为服务器硬盘掉线强制上线

    网上科普有关“华为服务器硬盘掉线强制上线”话题很是火热,小编也是针对华为服务器硬盘掉线强制上线寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。您要问的是华为服务器硬盘掉线为什么强制上线吗?是由于硬盘故障、驱动程序或固件问题等。1、硬盘会发生故障导致掉线,在这种

    2025年02月27日
    163
  • 实测教程“玩呗麻将有挂吗(SUBWAYSURF雪地版)

    网上科普有关“玩呗麻将有挂吗”话题很是火热,小编也是针对玩呗麻将有挂吗寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。  您好,玩呗麻将有挂吗这款游戏可以开挂的,确实是有挂的,通过微信【游戏】很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌

    2025年03月03日
    17
  • 实测教程“长乐坊麻将开挂会被发现吗(音乐猎手)

    网上科普有关“长乐坊麻将开挂会被发现吗”话题很是火热,小编也是针对长乐坊麻将开挂会被发现吗寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。  您好,长乐坊麻将开挂会被发现吗这款游戏可以开挂的,确实是有挂的,通过微信【游戏】很多玩家在这款游戏中打牌都会发

    2025年03月04日
    16
  • 实测教程“闲来广东麻将有开挂的吗(百达屋)

    网上科普有关“闲来广东麻将有开挂的吗”话题很是火热,小编也是针对闲来广东麻将有开挂的吗寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。  您好,闲来广东麻将有开挂的吗这款游戏可以开挂的,确实是有挂的,通过微信【游戏】很多玩家在这款游戏中打牌都会发现很多

    2025年03月04日
    16
  • 疫情期间青年事例(疫情期间青年事例分享)

    今天给各位分享疫情期间青年事例的知识,其中也会对疫情期间青年事例分享进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!疫情期间团结一致的事例有哪些?1、疫情期间团结一致的事例:阿兹米娜是辽宁大学的留学生,疫情期间,正在度假的她滞留武汉。“我们坚持每天与她联系,关心她的身体情况,

    2025年03月05日
    29
  • 分享干货”微乐麻将万能开挂器通用版详细开挂(详细真的有挂)

    分享干货”微乐麻将万能开挂器通用版详细开挂网上科普有关“分享干货”微乐麻将万能开挂器通用版详细开挂”话题很是火热,小编也是针对分享干货”微乐麻将万能开挂器通用版详细开挂寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。  您好,分享干货”微乐麻将

    2025年03月07日
    16
  • 四大天师是谁的资料介绍

    网上科普有关“四大天师是谁的资料介绍”话题很是火热,小编也是针对四大天师是谁的资料介绍寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。 "四大天师"分别是张道陵、葛玄、魏华存、许旌阳,为玉皇大帝凌霄宝殿前的四位天神。下面是我为专门您整理好的:四大天师的介绍。

    2025年03月10日
    196
  • 新冠疫苗有几种都是什么(新冠疫苗有哪几种种类)

    本篇文章给大家谈谈新冠疫苗有几种都是什么,以及新冠疫苗有哪几种种类对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。中国的新冠疫苗叫什么名字?打一针的新冠疫苗叫什么名字?打一针的新冠疫苗叫康希诺新冠疫苗,为腺病毒载体疫苗,由康希诺生物和中国人民解放军军事科学院军事医学研究院生物工程研究所陈薇

    2025年03月28日
    20
  • 武汉新冠疫情持续多久(武汉新冠疫情持续多长时间)

    今天给各位分享武汉新冠疫情持续多久的知识,其中也会对武汉新冠疫情持续多长时间进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!新冠到现在多少年了1、自2019年12月以来,新型冠状病毒肺炎(COVID-19)疫情已经持续了大约四年时间。新冠病毒最初在湖北省武汉市被发现,并迅速

    2025年03月31日
    19

发表回复

本站作者后才能评论

评论列表(4条)

  • 巴慧娇
    巴慧娇 2025年05月03日

    我是空气号的签约作者“巴慧娇”!

  • 巴慧娇
    巴慧娇 2025年05月03日

    希望本篇文章《求 分布式对象存储 原理 架构及Go语言实现 pdf》能对你有所帮助!

  • 巴慧娇
    巴慧娇 2025年05月03日

    本站[空气号]内容主要涵盖:国足,欧洲杯,世界杯,篮球,欧冠,亚冠,英超,足球,综合体育

  • 巴慧娇
    巴慧娇 2025年05月03日

    本文概览:网上科普有关“求 分布式对象存储 原理 架构及Go语言实现 pdf”话题很是火热,小编也是针对求 分布式对象存储 原理 架构及Go语言实现 pdf寻找了一些与之相关的一些信息进...