大型网站系统架构演化实例_6.使用分布式文件系统和分布式数据库系统

1.使用分布式文件系统和分布式数据库系统

         任何强大的单一服务器都满足不了大型网站持续增长的业务需求。数据库经过读写分离后,从一台服务器拆分成两台服务器,但是随着网站业务的发展依然不能满足需求,这时需要使用分布式数据库。文件系统也一样,需要使用分布式文件系统。分布式数据库是网站数据库拆分的最后手段,只有在单表数据规模非常庞大的时候才使用。不到不得已时,网站更常用的数据库拆分手段上业务分库,将不同业务的数据部署在不同的物理服务器上。

         此时,网站系统架构如图1所示。

图1 第七阶段网站架构 

2.分布式文件服务器

         分布式文件服务器是一种用于存储和管理文件的计算机系统,它可以在多个节点上分布存储数据,以提高数据的可靠性、可用性和性能。

        分布式文件系统:Distributed file system, DFS,又叫做网络文件系统:Network File System。一种允许文件通过网络在多台主机上分享的文件系统,可让多机器上的多用户分享文件和存储空间。

        FastDFS是用c语言编写的一款开源的分布式文件系统,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合中小文件(建议范围:4KB < file_size <500MB),对以文件为载体的在线服务,如相册网站、视频网站等。

3.分布式数据库服务器 

         分布式数据库是指将数据存储在多个服务器上,并通过网络连接进行通信和协调,从而实现数据的分布式存储和处理。

        分布式数据库的优势

  • 扩展性: 分布式数据库可以轻松地扩展,通过增加节点来应对数据规模的增长,无需对整个系统进行重构。

  • 高可用性: 分布式数据库通常具备数据冗余和故障转移的能力,即使部分节点发生故障,数据仍然可用。

  • 性能: 分布式数据库可以将数据分布在多个节点上,从而减少单节点的负载,提升查询性能。

  • 灵活性: 分布式数据库可以根据不同的业务需求和数据类型选择合适的存储引擎和分布策略。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-23 19:06:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-23 19:06:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-23 19:06:02       82 阅读
  4. Python语言-面向对象

    2024-04-23 19:06:02       91 阅读

热门阅读

  1. 程序员缓解工作压力的小窍门

    2024-04-23 19:06:02       35 阅读
  2. Python基础学习之itertools.zip_longest()函数

    2024-04-23 19:06:02       38 阅读
  3. 面试十四、内存泄漏

    2024-04-23 19:06:02       34 阅读
  4. 【Linux】学习记录_16_POSIX互斥锁

    2024-04-23 19:06:02       39 阅读
  5. VUE发展方向的文章

    2024-04-23 19:06:02       105 阅读
  6. CUDA编程:其四、CUDA矩阵乘法

    2024-04-23 19:06:02       35 阅读
  7. v-deep 打破作用域隔离的原理

    2024-04-23 19:06:02       37 阅读
  8. nginx的location

    2024-04-23 19:06:02       158 阅读
  9. Linux动静态库

    2024-04-23 19:06:02       33 阅读
  10. 在Linux上使用MySQL Yum存储库安装MySQL

    2024-04-23 19:06:02       36 阅读