大规模站点的架构合编.ppt

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
大规模站点的发展历程 李计刚 2015-08 参考书籍和文档 《构建高性能Web站点》第16章“数据库扩展” 《MySQL管理之道,性能调优、高可用与监控》第三部分“高可用集群管理篇”和第11章“项目案例讲解” 《深入浅出 MySQL数据库开发、优化与管理维护(第2版)》第五部分“架构篇” 《 MySQL技术内幕(第4版)》第14章“MySQL数据库的维护、备份和复制” 《MySQL核心内幕,InnoDB存储引擎》 《新公司业务管理系统总体架构规格说明书v0.4》 目录 受单点故障困扰时期 主从复制和读写分离 写操作分离之垂直分区 写操作分离之水平分区 未来… 受单点故障困扰时期 状况: 1Web服务器+1数据库服务 存在的问题: 两个单点,单点故障产生时系统不能对外提供服务; 数据备份和恢复靠手工; 提升性能只能靠提供更多的 Web服务器,Web服务器之间需考虑负载均衡; 因为IO和数据库的原因,系统最终将越来越慢。 应用案例:航油的双机热备 架构说明: 2台互为备份的服务器,1台公用的存储系统; 2台互为备份的服务器之间有心跳线连接,用以监控另一台服务器的运行状态; 2台服务器上还需要运行双机热备的系统软件; 任何导致系统当机或服务中断的故障,都会自动触发双机热备的系统软件流程来进行错误判定、故障隔离,并通过联机恢复来继续执行中断的服务。 目录 受单点故障困扰时期 主从复制和读写分离 写操作分离之垂直分区 写操作分离之水平分区 未来… 主从复制和读写分离 状况: 多台Web服务器+多台实现了主从复制与读写分离功能的数据服务器 MySQL实现主从复制的步骤 给两个MySQL服务器分别分配一个独一无二的复制ID。在启动主、从服务器时,必须用 service_id启动选项给出其ID值; 启用主服务器上的二进制日志功能; 在主服务器上,创建一个账户供从服务器连接主服务器并请求修改信息; 连接到主服务器并通过SHOW MASTER STATUS语句确定当前的复制坐标(记录下File和Position的值) 在从服务器上为被复制的数据库建立一份完整的副本; 连接从服务器并使用CHANGE MASTER语句进行配置,包括用来连接主服务器的参数和初始复制坐标告诉从服务器; CHANGE MASTER TO MASTER_HOST=‘master_host’, MASTER_USER=‘slave_user’, MASTER_PASSWORD=‘slave_pass’, MASTER_LOG_FILE=‘log_file_name’, MASTER_LOG_POS=‘log_file_pos’; 让从服务器开始复制。 应用案例:新公司业务管理架构 架构说明: Web层、业务层、数据库服务器都采用主备灾服务器形式对外提供服务; 系统主要运行在陆家嘴系统上,在主服务器故障不可用时,自动切换到备用服务器;在陆家嘴系统不可用(如网络接入失败、主备服务器均不可用)情况下,手动切换到外高桥运行。 目录 受单点故障困扰时期 主从复制和读写分离 写操作分离之垂直分区 写操作分离之水平分区 未来… 垂直分区(一) 思路: 将写入操作比较频繁的表分离出来,放在两个不同的服务器。 垂直分区(二) 存在的问题: 如果分离的表之间需要join连接,这时要分别从两个服务器获取数据,然后进行处理。因此划分出的表最好业务上不存在关系; 垂直分区只是将写的操作分散到其它服务器上,对于分离后的表本身数据访问特别大的情况将无能为力,这时要借助水平分区。 目录 受单点故障困扰时期 主从复制和读写分离 写操作分离之垂直分区 写操作分离之水平分区 未来… 水平分区的原理 思路: 将同一数据表中的记录通过特定的算法进行分离,分别保存到不同的数据表中,并部署到不同的数据库服务器上。 水平分区的分区算法(Range) 思路: 基于一个给定连续区间范围,把数据分配到不同的分区。 优缺点: 支持对整数列、日期进行分区; 容易扩展; 删除过期数据很方便,只要删除相应分区即可; 各分区的工作量会存在较大差异,会造成部分分区压力较大 水平分区的分区算法(List) 思路: 建立离散的值列表告诉数据库特定的值属于哪个分区。 优缺点: 支持整数、非整数进行分区; 有很强的伸缩性,可灵活控制分区的规模; 可轻松地将数据从一个分区迁移到另一个分区; 映射关系复杂,无法通过简单的逻辑或配置来进行维护。 水平分区的分区算法(Hash) 思路: 根据列的Hash值,确定其存储的分区。 优缺点: 可以为多个分区比较均衡的分配工作量; 能快速的定

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档