zoukankan      html  css  js  c++  java
  • PostgreSQL Replication之第四章 设置异步复制(5)

    4.5 使流复制更健壮

    当连接到master时,slave要做的第一件事情是赶上master。但是,这会一直工作吗?我们已经看到,我们可以使用由基于流和基于文件组成的混合设置。这给了我们一些额外的安全性,以防流不工作。

    在现实世界的场景中,传送XLOG的两种方法可能过于复杂。在许多情况下,使用流就足够了。问题的关键是:在一个正如已经描述过的正常的设置中,只要不再需要XLOG来修复master,master就可以丢掉XLOG。根据您的检查点配置,XLOG可能存在相当长一段时间,或只有很短的时间。麻烦的是:如果您slave连接到master,可能会出现的情况是期望的XLOG已经不再了;在这种情况下,slave不能重新同步自己。您可能会发现这有点恼人,因为它隐含地限制了您的 slave 到您的 master 检查点行为的最大停机时间。

    很明显,这可能会导致生产系统上的问题。为了让您的设置更加健壮,我们建议大量使用wal_keep_segments。这个postgresql.conf设置的思想是让master 保持比理论上需要的更多的XLOG文件。如果您设置该变量为1000,它意味着master将保持16GB以上的XLOG。换句话说,您的slave相比平常可以消失16GB(就转换到master而言)。这极大地增加了slave无需从头开始完全同步自身而加入集群的优势。对于一个500MB的数据库这是不值得一提的,但是如果您的设置需要容纳数百G或T的数据,这是一个巨大的优势。产生一个20TB实例的基础备份是一个漫长的过程,您可能不想太频繁地这样做,您肯定不想一遍又一遍地这样做。

  • 相关阅读:
    基于keepalived搭建MySQL的高可用集群
    weblogic启动问题
    wind7下搭建ftp服务器
    数据库连接数使用情况监控
    windows下自动删除n天前的文件
    oracle RAC调整数据文件大小并移动表到指定的表空间
    oracle表空间使用情况查询
    vue的.vue文件是怎么run起来的(vue-loader)
    react router @4 和 vue路由 详解(七)react路由守卫
    react router @4 和 vue路由 详解(六)vue怎么通过路由传参?
  • 原文地址:https://www.cnblogs.com/songyuejie/p/4743517.html
Copyright © 2011-2022 走看看