- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PostgreSQL 高可用性与负载均衡原理及
实例
多个数据库服务器可以协同工作, 比如在主服务器失效的时候备份服务器立即取
代它的位置 ( 高可用性 ) ,或者几台机器同时服务于同一个数据库 ( 负载均衡 ) 。理
想状态多台服务器之间可以无缝协作。为静态页面提供服务的 Web 服务器可以
轻松的通过将 web 请求分摊到多台机器从而实现负载均衡。事实上,只读数据
库也能轻松的以相同的方法实现负载均衡。 不幸的是,大多数数据库服务器都需
要同时处理混合的读 / 写 请求,将这些数据库联合起来工作是件很麻烦的事。 虽
然只读数据只需要在每台服务器上复制一份即可, 但是在任何一台服务器上的写
动作都必须传播到其它所有服 务器上,这样才能保证将来对这些已修改数据的
读取返回一致的结果。
这个写同步问题就是导致多台服务器协同工作麻烦重重的最基本原因。 有多种解
决此问题的方法,其思路也各不相同,但都不是既简单又高效的方案。
有一种解决方案是仅允许单独的一台 主 服务器修改数据, 其它 从 服务器只能
读取数据, 还可能存在平时不允许访问、 仅在失效切换后代替主服务器的 备用
服务器。
一些失效切换和负载均衡方案是 同步的 ,意思是直到所有服务器都完成了某个
修改数据的事务之后, 该事务才被认为是已经完成的。 这将确保失效切换不会丢
失 任何数据并且所有服务器都将返回一致的结果。另一些方案是 异步的 ,这
种方案允许在事务提交之后与传播到所有其它服务器之间有一小段延时, 但是在
切换到 备份服务器的时候某些事务可能会丢失,并且不同的服务器可能返回不
一致的结果。当同步可能会很慢的时候可以使用异步通信。
还可以按照粒度对解决方案进行分类。 某些方案只能将整个数据库集群作为一个
整体,而某些方案可以针对每个数据库或每张表分别做不同的处理。
在选择任何失效切换或负载均衡方案的时候都必须考虑性能因素。 功能和性能不
可兼得,比如,一个完全同步的解决方案在慢速网络上可能削减性能一半以上,
而完全异步的方案可能仅对性能有极其微小的影响。
下面的部分大致描述了各种常见的失效切换、复制、负载均衡方案。
共享磁盘失效切换
共享磁盘失效切换通过仅保存一份数据库副本来避免花在同步上的开销。
这个方案让多台服务器共享使用一个单独的磁盘阵列。如果主服务器失
效,备份服务器将立即挂载该数据库, 就像是从一次崩溃中恢复一样。 这
个方案允许快速的失效切换并且不会丢失数据。
共享硬件的功能通常由网络存储设备提供,也可以使用完全符合 POSIX
行为的网络文件系统 (NFS)。这种方案的局限性在于如果共享的磁盘阵列
损坏了,那么整个系统将会瘫痪。 另一个局限是备份服务器在主服务器正
常运行的时候不能访问共享的存储器。
一种改进的方案是文件系统复制: 对文件系统的任何更改都将镜像到备份
服务器上。这个方案的唯一局限是必须确保备份服务器的镜像与主服务器
完全一致, 特别是写入顺序必须完全相同。 DRBD是 Linux 上的一种流行
的文件系统复制方
原创力文档


文档评论(0)