【Alluxio】加锁大概流程

FileSystemMaster是Alluxio文件系统master服务的接口,里面定义了针对文件系统的各种操作。
例如:getFileInfo、delete、exists、createFile、listStatus、setAcl等等。

alluxio.master.file.DefaultFileSystemMaster是上面FileSystemMaster接口的实现类。对上面定义的文件系统操作进行具体实现。

我们知道HDFS的FSNameSystem在设计的时候使用了一把全局的读写锁,这种锁模型实现起来比较方便,但是粒度比较粗,
在高并发的情况下,会限制HDFS的吞吐量。

Alluxio在设计锁模型的时候,采用了更细力度的锁模型(INode级别锁)。关于HDFS的拆锁当然可以以Alluxio作为参考。
这篇文章主要关注Alluxio的锁模型,以及加锁相关的方法及调用链路。

好,接下来进入正题,我们以getFileInfo这个RPC为切入点:

alluxio.master.file.DefaultFileSystemMaster#getFileInfo(long):

  @Override
  public FileInfo getFileInfo(long fileId

你可能感兴趣的:(Alluxio实战,Alluxio,大数据)