我有一个具有一个主服务器和两个从服务器的最大规模的mariadb集群。我使用flask-sqlachemy ORM进行查询和编写。
我已经用样式编写了读查询
db.session(User).join()....
现在,我的所有读查询都将转到最大规模的主节点
下面是maxcalse日志
2021-09-14 17:38:26 info : (1239) (Read-Write-Service) > Autocommit: [disabled], trx is [open], cmd: (0x03) COM_QUERY, plen: 287, type: QUERY_TYPE_READ, stmt: SELECT some_col FROM user
2021-09-14 17:38:26 info : (1239) [readwritesplit] (Read-Write-Service) Route query to master: Primary <
我也试过其他的方法
conn = mysql_connector.connect(...)
conn.autocommit(True)
cursor = conn.cursor()
cursor.execute(query)
这可以很好地工作,并将查询路由到其中一个从节点。
但我的大部分代码都是用ORM风格编写的。有没有办法在使用flask-sqlalchemy
的同时实现这一点?
发布于 2021-09-15 06:56:54
如果禁用自动提交,则始终有一个打开的事务:使用START TRANSACTION READ ONLY
启动显式只读事务。这允许MaxScale将事务路由到从服务器。
https://stackoverflow.com/questions/69187274
复制相似问题