distribute_reads gem 是否支持 Amazon Aurora 的负载均衡副本?

Does distribute_reads gem support load balancing replicas for Amazon Aurora?

我使用 distribute_reads gem 并具有以下 database.yml 设置:

default: &default
  url: postgresql-makara:///
  makara:
    sticky: true
    connections:
      - role: master
        name: primary
        url: <%= ENV["DATABASE_URL"] %> # aurora writer endpoint 
      - name: replica
        url: <%= ENV["REPLICA_DATABASE_URL"] %> # aurora reader endpoint 

development:
  <<: *default

production:
  <<: *default

Amazon Aurora 在 CPU 增加时创建额外的副本,但新副本似乎根本没有被使用。我们希望连接从过载副本转移到新副本。我已经读到连接应该以某种方式重新连接以定向到新副本。

我希望 gem 的工作方式与 fresh_connection gem 提供的类似。以下是自述文件中的架构以及副本在我们的应用程序中的行为方式。

Rails -------+---- DB Master
             |
             |                     +------ DB Replica1 # CPU 99% 500 connections
             |                     |
             +---- Loadbalancer ---+
                                   |
                                   +------ DB Replica2 # CPU 5% 0 connections

database.yml 中的以下设置帮助我们在只读副本之间分配流量。

idle_timeout: 5
reaping_frequency: 5