FastCFS架构之连接篇

Posted Huazie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FastCFS架构之连接篇相关的知识,希望对你有一定的参考价值。

FastCFS架构之连接篇

本篇文章转载于 FastCFS 作者 余庆 大佬的 FastDFS分享与交流 公众号。

上一篇文章讲到了 FastCFS 核心组件 faststore 的架构及特点,大家可能有些蒙圈,这次补上 FastCFS 各个模块之间的关系说明。老规矩,上图为敬:

FastCFS 的两大核心组件 faststorefastDIR相互独立,通过 client 端封装的 file api library 将二者连接起来。

这种做法有两点好处:

  1. faststorefastDIR 不直接依赖,降低服务端复杂性;
  2. 如果不需要使用 fastDIR 提供的元数据服务,可以直接使用 faststore api 访问faststore cluster。比如后续实现块设备访问方式的话,只需要使用 faststore 即可。

faststore cluster 有三个服务端口:clusterreplicaservicefastDIR cluster 有两个服务端口:clusterserviceclusterreplica 端口用于集群内部通信,其中 replica 端口用于 server 之间的数据复制,service 端口对外提供服务。

FastCFS 交流群有朋友问了,一个端口不行吗,为啥需要两个甚至三个端口呢?FastCFS 的设计和实现目标是支持跑数据库,除了保证数据一致性为核心的高可靠外,还需做到极高性能。FastCFS 采用多个端口的做法,实现外部访问和集群内部通信相互隔离,最大程度降低外部和内部相互影响,提升网络吞吐量,从而提升整体性能。

FastCFS 服务端支持多块网卡,出于性能考虑,强烈推荐集群内部通信和对外服务使用不同的网卡。再次解答 FastCFS 为什么采用多端口方案,因为 FastCFS 允许只使用一块网卡(内部通信和对外服务均使用同一块网卡)。

友情提示: 使用多块网卡时,简单起见,每块网卡最好使用不同的网络分类地址,比如内部通信的网卡1使用192打头的IP,对外服务的网卡2使用 172打头的IP。

最后是广告时间:经过不懈努力,我们最近刚建立 FastCFS yum 源,并且整理了简明扼要的安装和配置文档,欢迎有需要的朋友测试、使用和反馈。FastCFS 使用交流群在 gitee 项目首页可以找到,欢迎感兴趣的朋友扫码加入。附 gitee 项目地址:https://gitee.com/fastdfs100/FastCFS

以上是关于FastCFS架构之连接篇的主要内容,如果未能解决你的问题,请参考以下文章

FastCFS之连接管理

FastCFS 数据一致性模型之基础结构

FastCFS性能碾压Ceph之技术揭晓

FastCFS性能碾压Ceph之技术揭晓

FastCFS同步复制机制简介

代码篇从零开始一步步搭建自己的golang框架