前言
在如今各种计算,存储框架层出不穷的情况下,我们在工作中对于一个需求的解决可以用很多种方案进行解决。不同框架的组合会有不同性能上的表现,但是这里会涉及到一个性能和开销的权衡问题。因为不同框架的组合需要有额外的联结适配工作,不可能组合所有的框架来做生成的实现方案。于是在计算和存储中间,其实我们可以多做一层中间层,而本文所将要讲述的alluxio就是这么一个中间层。
Alluxio概述
Alluxio的本质是临界于计算框架和存储框架之间的一个中间缓存层,作为一个内存s文件系统,这样的话,计算框架就无须之间访问底层存储系统,而是只与Alluxio访问即可,关系图如下:
![这里写图片描述](https://i-blog.csdnimg.cn/blog_migrate/83485fbd31924219a23fd184ddd07153.bmp)
如上图所示,Alluxio向上可以被多个计算框架访问,向下可以兼容多种底层存储系统。
因为Alluxio中的数据是存在于内存中的,所以这会大大加速计算框架对于底层数据的访问,但是这也会有一些别的问题产生,后面笔者还会提到这点。做中间缓存层其实并不是革命性的创新概念,因为这个思路其实早就已经有了,不过Alluxio的一个最大的不同点在于它对外(多计算框架)提供了统一命名空间,从这些计算应用来看,是一个统计的逻辑文件系统。
Alluxio的内部架构
接着我们来简单看看Alluxio的内部结构以及相关的角色分配