0

假设我有 2 个 postgres 服务器(1 个主服务器和 1 个从属服务器)并且我正在使用 Patroni 来实现高可用性

1)我打算拥有三机etcd集群。是否可以将 2 台 postgres 机器也用于 etcd + 另一台服务器,或者最好使用 Postgres 不使用的机器?

2) 在不使用 pgpool 的情况下,将读取请求定向到从属服务器并将写入请求定向到主服务器有哪些选择?

谢谢!

4

1 回答 1

0
  1. 是的,在两台 PostgreSQL 机器上运行 etcd 是最佳实践。

  2. 唯一安全的方法是在您的应用程序中。必须教导应用程序从一个数据库连接读取并写入另一个数据库连接。

    没有安全的方法来区分书写查询和非书写查询。考虑

    SELECT delete_some_rows();
    

    应用程序还必须意识到更改不会立即在副本上可见。

    当涉及到扩展时,流复制的用途有限......

于 2020-05-14T14:51:13.090 回答