小米融合云架构课件_第1页
小米融合云架构课件_第2页
小米融合云架构课件_第3页
小米融合云架构课件_第4页
小米融合云架构课件_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

小米融合云架构技术创新,变革未来小米融合云架构技术创新,变革未来1融合云介绍业务快速发展管理成本接入复杂隔离需求生态链需求公网访问融合云动机小米内部业务生态链业务融合云介绍业务快速发展融合云动机小米内部业务生态链业务2融合云介绍服务化统—身份认证权限管理多租户Web

console基于开源功能扩展基于HBase做二级索引系统扩展基于HBase和HDFS做对象存储公网调用支持Http请求/无状态融合云设计融合云介绍服务化融合云设计3融合云介绍融合云架构WebConsole SDK团队管理结构化存储对象存储消息队列流式消息离线 深度分析 学习自动部署Docker镜像…HBase/HDFS/Kudu/TensorFlow/Spark/Docker…融合云介绍融合云架构WebConsole SDK团队管理消4团队管理Organization(Org)资源隶属Team用户身份隶属于OrgAdmin/MemberOrgadmin

Team认证CAS签名认证生成秘钥秘钥轮换权限管理<Team,Resource,

Perm>团队管理(Cloud-Manager)Cloud-ManagerServiceWebconsoleSDKCAS公司账号user:

teamListresource:

org签名签名认证Org(团队):

notebookAdmin

TeamDev_TeamTablesBucket/ObjectsqueuesReport

TeamAdminAdminR团队管理Organization(Org)团队管理(Clou5团队管理示例cc团队管理示例cc6⼩⽶融合云存储/计算数据流结构化存储(SDS)离线分析消息队列(EMQ)对象存储(FDS)消息队列(EMQ)Snapshot

Export流式消息服务SDS

StreamMR/Spark⼩⽶融合云存储/计算数据流结构化存储离线分析消息队列(EMQ7结构化存储(SDS)分布式数据库基于HBase数据模型扩展支持EntityGroup/Primary

Key支持数据类型多语言SDK支持ACL扩展功能扩展局部二级索引全局二级索引Stream实时恢复StructureData

Store(SDS)结构化存储(SDS)分布式数据库StructureData8结构化存储(SDS)SDS架构ACL QuotaHBaseSDS

CoreSDSServiceObjectMappingFrontEndMulti-platform

SDKThriftProcessorHttpServer(TTransport)ThriftProcessorHttpClient(TTransport)flush/HttpRequestread/HttpResponseSDSService认证与Cloud-Manager交互元信息管理UserTable=>TableId=>HBase

TableSDK– Java/php/python/go/c++/node.jsSDKService结构化存储(SDS)SDS架构HBaseSDSCoreSD9结构化存储(SDS)SDSCoreSDSRequest<->HBaseRequestObjectMappingJavaObject<->SDSRequestACL表级别权限控制EntityGroup间权限隔离Quota<grantee,table,operation,

limit>TokenBucket算法SoftLimit引入集群过载quota集群过载前允许超发SDS架构ACL QuotaHBaseSDS

CoreSDSServiceObjectMappingFrontEndMulti-platform

SDK结构化存储(SDS)SDSCore引入集群过载quotaS10结构化存储(SDS)实现Entity

Group(EG)功能业务特性:

以用户为中心定义Entity

Group

KeysEG在同—个regionEG内跨行写原子性EG内局部二级索引强—致Schema管理EntityGroup/PrimaryIndex/Secondary

Index/Column数据类型Bool/Int8/Int16/Float/Double/String/Binary,

Set使用OrderedBinary编码确保顺序条件查询SDS

Core主要功能结构化存储(SDS)实现EntityGroup(EG)功能11结构化存储(SDS)局部二级索引数据Family/索引FamilyHBase

coprocessor中更新索引读取主记录构造索引rowkey更新主记录/删除旧索引/写入新索引支持Eager/Lazy/Immutable

IndexLazy

invalid

index定期清理Eager/Immutable

Index支持属性投影全局二级索引使用单独的HBase

table存储索引使用Themis提供HBase跨表更新原子性/xiaomi/themis全局单调递增时间戳:

/xiaomi/chronos强—致性二级索引EG Row01 main_row…01 Index_rowData

FamilyIndexFamily结构化存储(SDS)局部二级索引https://github12结构化存储(SDS)使用Javaannotation和反射实现toRecord:Object=>Map<String,

Object>fromRecord:Map<String,Object>=>

ObjectObject

Mapping对象映射结构化存储(SDS)使用Javaannotation和反射13SDS

Object

Mapping⽰例Table

Schema定义(SQL)SDSObjectMapping⽰例TableSche14SDS

Object

Mapping⽰例Table

Schema定义SDSObjectMapping⽰例TableSche15SDS

Object

Mapping⽰例查询SDSObjectMapping⽰例查询16SDS

Object

Mapping⽰例查询SDSObjectMapping⽰例查询17结构化存储(SDS)场景OLAP增量数据处理原理Stream

Family存储image使用hbase

coprocessor

build

images–

推送image到流式消息服务实时恢复StreamF1F2MRSnapshoterData ImagesnapshotsRecoverySnapshot

justbefore

Ts流式消息服务Ts结构化存储(SDS)场景使用hbasecoprocesso18Web

console⽰例Webconsole⽰例19结构化存储(SDS)SDSrest

server–24Intel(R)Xeon(R)E5620@2.4GHz,64G,

万兆网HBaseregionserver–

Cpu/内存/网络同上,8

*

800G

ssd,5台•YCSB

client性能测试Put

Througput/Latency记录大小ThrougputAvg(ms)P95(ms)P99(ms)0.1k337380.52790.5k300470.466111k256520.46610Get

Througput/Latency记录大小ThrougputAvg(ms)P95(ms)P99(ms)0.1k302130.26470.5k274570.28391k269320.29312结构化存储(SDS)SDSrestserverYCSB20对象存储(FDS)KB到TB级别的文件基于HBase

&

HDFSBucket&

ObjectRestful

API多语言SDK权限管理事件通知Quota管理30+业务使用FileData

Store(FDS)FrontEndMetaManagerBlobStoreHBaseHDFSCDN对象存储(FDS)KB到TB级别的文件FileDataS21对象存储(FDS)Bucket

TableBucket基本信息/ACL/QuotaObject

TableObject基本信息/ACL/meta/通知信息Objectname=>blobUriBlobInfo

TableBlobUri=>FileId抽象Blob

write/read/get接口,隐藏具体实现FileInfo

TableFileId=>Path,

basicInfoMultiPartUpload

TableuploadId=>

partInfo元数据管理对象存储(FDS)BucketTable元数据管理22对象存储(FDS)BlobManager/FileManagerBlob存储magic/data/md5offset管理打开文件MaxOpenNum/MaxFileSizeIdleFiles<=>Busy

FilesBlobClient创建Blob:

BlobWriterWrapped

OutputStream关闭Blob获取Blob:BlobReaderWrapped

InputStreamBlobStoreBlobManagerBlobInfo(BlobId->FileId)FileManagerFileInfo(FileId->FilePath)BusyFilesIdleFilesHDFS

FilesBlobClientcreateBlob/getBlobcloseBlob对象存储(FDS)BlobManager/FileManag23对象存储(FDS)创建对象BlobClient:

createBlob将object信息写入hbase

object

table读取对象从hbase

object

table获取blobUriBlobClient:

getBlob对象列表t=苗hbase

object

table删除对象删除hbase

object

table中对应记录对象橾作对象存储(FDS)创建对象对象橾作24对象存储(FDS)Object

Cleaner–

民据objecttable删除blobtableFileCleaner&

Compactor基于BlobInfo

Table和FileInfo

Table民据BlobInfo

Table统计File使用率归并低使用率文件Archive无Blob引用文件删除过期Archive文件Cleaner&

CompactorobjNameblobUriblobUriFileIdFileIdFileInfo对象存储(FDS)ObjectCleaner–民据obj25FDS性能FDS性能26消息队列(EMQ)应用间异步通信支持P2P,

Pub/Sub两种模式基于HBase提供分布式能力Atleastonce语义多读者消息优先级死信队列Short/Long

PoolingElasticMessageQueue(EMQ)EMQsend

messagereceive

messageack

message消息队列(EMQ)应用间异步通信多读者ElasticMes27消息队列(EMQ)QueueHBase

TablePartitionsPartitionIdPartition分布—致性hashEMQ架构Partition_0Partition_nRegion_0Region_nQueueHBase

Table……HBasePartition0Partition1Partition2Partition3Partition4Partition5EMQ

Server消息队列(EMQ)QueueEMQ架构Partition_028消息队列(EMQ)Message–

MessageIdmessageId=hbaseRow=

<partitonId><timestamp><sequenceId>Timestamp=currentTime+del

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论