小米融合云架構課件_第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

提交評論