从小型网站到超大规模网站的MySQL参考架构1

preview
需积分: 0 0 下载量 154 浏览量 更新于2022-08-08 收藏 264KB DOCX 举报
《面向大规模可伸缩网站基础设施的 MySQL 参考架构》白皮书提供了针对不同规模网站的MySQL设计架构,从小型到超大型网站,确保数据库的高效运行和可伸缩性。以下是各类型网站的参考架构及其特点: 1. **小型(Small)网站参考架构** - 这种架构适用于所有四类网站的小型实现。 - 使用MySQL Replication创建数据副本,以支持备份和分析需求。 - 架构相对简单,适合低至中等流量的网站。 2. **中型(Medium)网站参考架构** - 推荐根据活动类型分配独立基础设施,每个MySQL服务器最多支持8个应用服务器。 - 针对高可用性需求,如会话管理和电子商务,可以采用Linux心跳(Heartbeat)和半同步复制。 - CMS网站可能需要更多从服务器(20-30个)来处理高并发读操作。 - 使用Memcached减轻应用服务器和MySQL服务器的压力。 3. **大规模(Large)网站参考架构** - 使用MySQL Geographic Replication进行跨数据中心的异步复制,以提高容灾能力。 - 针对会话管理和电子商务,推荐使用集群,以支持高流量。 - CMS网站的配置与中型网站类似,但可能需要更多的从服务器。 - 分析类网站引入数据提炼单元,用于数据清洗和组织。 4. **超大规模(Extra Large)网站参考架构** - 社交网站这类超大规模的网站,结合中型和大规模架构的特点,如专用应用服务器、Memcached和数据提炼单元。 - 引入分片(Shard)技术来扩展写操作的性能,MySQL集群用于用户认证和查找。 - 分片策略适用于有多个查找键的情况,直接读写相应的分片。 硬件推荐规格: - MySQL 5.5及以上版本推荐8-16个x86-64位CPU核心,5.1及更早版本推荐4-8个核心。 - 内存至少是活动数据的3-10倍。 - 支持Linux、Solaris或Windows操作系统。 - 最少4块磁盘,8-16块磁盘可提升I/O密集型应用的性能。 - 建议使用硬件RAID,推荐RAID 10,对于读密集型负载,RAID 5也是可行的。 - 至少2个网卡和2个电源单元以实现冗余。 此外,白皮书还提到了MySQL集群管理、数据存储设备的选择以及监控和备份的最佳实践。这些架构和建议旨在帮助网站根据其特定需求和流量模式优化MySQL性能,同时保证高可用性和可扩展性。