使用 AWS RDS 数据库代理来代理数据库连接以及读写负载均衡,以确保读写请求能够正确地分发到相应的实例上。
代码示例:
curl -LO https://s3.amazonaws.com/rds-downloads/rds-proxy/prod/RDSProxy-linux-0.3.1.zip
unzip RDSProxy-linux-0.3.1.zip
sudo cp ./rds-proxy /usr/local/bin/
sudo chmod +x /usr/local/bin/rds-proxy
aws rds create-db-proxy \
--db-proxy-name test-proxy \
--engine-family aurora \
--auth /path/to/auth \
--debug
import pymysql
from rdsproxy import connect
# Connection configuration for RDS Proxy.
connect_config = {
'host': 'test-proxy.p2p87qxxxxxxxxx.us-east-1.rds.amazonaws.com',
'port': 3306,
'user': 'admin',
'password': 'password',
'database': 'testdb',
'client_flags': [pymysql.constants.CLIENT.MULTI_STATEMENTS],
}
# Connect to the RDS Proxy Endpoint using the `connect` method
proxy_conn = connect(**connect_config)
# Then, use the 'proxy_conn' object as usual
with proxy_conn.cursor() as cursor:
cursor.execute('SELECT * FROM mytable')
results = cursor.fetchall()
以上示例代码仅供参考,实际使用时应根据具体情况进行相应修改。