作家
登录

分布式日志存储系统-LogDevice

作者: 来源: 2017-10-16 13:28:16 阅读 我要评论


 写在前面

如不雅想要实现数据存储,并描述清跋扈内部处理流程,我们可以采取怎么样的日记处理体系架构呢?这里推荐你FaceBook的Scribe,它是一款开源的日记收集体系,在Facebook内部已经获得大年夜量的应用。它可以或许大年夜各类日记源上收集日记,存储到一个中心存储体系 (可所以NFS,分布式文件体系等)上,以便于进行集中统计分析处理。

Scribe最重要的特点是容错性好。当后端的存储体系奔溃时,Scribe会将数据写到本地磁盘上,当存储体系恢复正常后,Scribe将日记从新加载到存储体系中。

做过分布式体系的人都知道,想要在大年夜范围集群下处理高并发事务时同时知足CAP(一致性、可用性、分区容错),大年夜理论上来说弗成能,当然据说比来谷歌已经实现了如许的分布式体系,然则总的来说确切异常难。对于社交媒体的海量日记文件,如不雅我们也提出了须要确保高可用、持续写入数据、按照记录次序返回数据等三条请求,你认为是否可以实现?FaceBook的LogDevice实现了。

什么是日记

日记是记录一系列序列化的体系行动的信息,我们须要确保它们可以或许被保存在靠得住的处所。对于应用法度榜样来说,日记的感化一般有两个,即Troubleshooting和显示法度榜样运行状况。好的日记记录方法可以供给我们足够多定位问题的根据。对于一些复杂体系,例如数据库,日记可以承担数捷报份、同步感化,很多分布式数据库都采取“write-ahead”筹划,在节点数据同步时经由过程日记文件恢复数据。

日记一般具有三个特点:

1、面向记录:写入日记的必定是孤立的行,而不是一个字节。日记本质上是问题的最小单位,用户也必定是攫取整行日记。日记的存储原则上按照次序,即按照LSN(日记次序数字)存放,然则也不完全这么请求,所以日记体系可以优先高写入需求,对写入掉包涵错。

2、日记生成就是递增的:也就是说,日记是不会修改的,那么也就意味着,日记体系的设计应当是以高写入、高攫取为目标,不须要担心更新操作的数据一致性问题。

3、日记存储周期长:可能是一天,也可能是一个月,甚至于一年。这也就意味着,日记的删除规矩一般都是按照时光或者空间进行设定的,具有固定的规矩。

来个假如

假如我们要设计一个分布式日记存储体系,你会怎么设计?

日记信息须要传输、存储,为了实现稳定的数据交换,我们可以采取Kafka作为消息中心件。

Kafka实际上是一个消息宣布订阅体系。

Producer向某个Topic宣布消息,而Consumer订阅某个Topic的消息,进而一旦有新的关于某个Topic的消息,Broker会传递给订阅它的所有Consumer。在Kafka中,消息是按Topic组织的,而每个Topic又会分为多个Partition,如许便于治理数据和进行负载均衡。同时,它也应用了Zookeeper进行负载均衡。

Kafka在磁盘上的存取价值为O(1),即就是通俗办事器,每秒也能处收成十万条消息,并且它本身就是分布式架构,也支撑将数据并行加载到Hadoop。

膳绫擎这张图是一个典范的采撤消息中心件进行日记数据交换的体系设计架构,然则没有实现数据存储,也没有描述数据是若何被采取并发送到Kafka的。

Scribe的架构比较简单,重要包含三部分,分别为Scribe Agent, Scribe和存储体系。Scribe Agent实际上是一个Thrift Client。Scribe接收到Thrift Client发送过来的数据,根据设备文件,将不合topic的数据发送给不合的对象。存储体系实际上就是Scribe中的Store,当前Scribe支撑异常多的Store。

貌似市情上已经有很多分布式日记收集系统了棘为什么FaceBook还须要推出LogDevice呢?并且FaceBook本身已经有了Scribe,为什么还要持续设计LogDevice?因为Scribe更多实现了日记数据的收集,它不是一个完全的日记处理、存储、攫取办事,体系设计也较为逝世板,存储更多依附HDFS,应用过程中必定出现了不克不及知足自珊孟耋的情况。而对于开源的哪些分布式日记收集体系,更多的是集成各个开源组件,合营完成日记存储体系设计需求。对于FaceBook的工程师来说,他们一贯秉承着用于立异的精力,想想Apache Cassandra,其实当时已经有HBase等成熟的NoSQL数据库,然则因为存在中间节点等诸多设计上的限制,FaceBook本身搞了一个全新的无中间化设计的架构,即便在初期饱受质疑,后续也在赓续地改进,到今朝为止,Cassandra真正进入到了它的黄金时代。

【编辑推荐】

  1. 若何设计企业袈淦存储架构
  2. 分布式存储体系的才能纵谈
  3. Docker镜像的存储机制
  4. SCM: 颠覆存储体系软件架构
  5. IPFS:基于区块链的去中间化存储收集
【义务编辑:武晓燕 TEL:(010)68476606】

  推荐阅读

  几款工具神器,高效率助你走上人生巅峰

一、背景在我的工作和生活中,我一向都很重视效力对象的应用,这么些年下来也积聚好几款很不错,然则又不为大年夜多半人所熟知的软件对象,我用起来轻车熟路,很不错。那我就像在此给大年>>>详细阅读


本文标题:分布式日志存储系统-LogDevice

地址:http://www.17bianji.com/lsqh/37933.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)