Java Quarkus:如何将复制的SQL数据库与读/写实例连接?

Java Quarkus:如何将复制的SQL数据库与读/写实例连接?,java,sql,hibernate,google-cloud-platform,quarkus,Java,Sql,Hibernate,Google Cloud Platform,Quarkus,我想将一个基于Qurkus/Hibernate的应用程序连接到运行在Google云中的应用程序。这种复制假定存在一个写实例,并且存在多个读副本 我通过了,但找不到办法。有一种方法可以为不同的数据库设置多个数据源,但这不是我需要的 问题:如何在Quarkus中配置读/写DB实例 我正在使用Quarkus 1.11.3.Final我没有尝试过使用云SQL,但正在阅读您想要探索jdbc如何配置的文档 所以试着跟随并使用Quarkus。请参阅如何配置jdbc。我正在编写一个云SQL指南,该指南尚未完成,

我想将一个基于Qurkus/Hibernate的应用程序连接到运行在Google云中的应用程序。这种复制假定存在一个写实例,并且存在多个读副本

我通过了,但找不到办法。有一种方法可以为不同的数据库设置多个数据源,但这不是我需要的

问题:如何在Quarkus中配置读/写DB实例


我正在使用
Quarkus 1.11.3.Final

我没有尝试过使用云SQL,但正在阅读您想要探索jdbc如何配置的文档


所以试着跟随并使用Quarkus。请参阅如何配置jdbc。

我正在编写一个云SQL指南,该指南尚未完成,因为在添加指南之前,我们希望处理开发模式的一些问题

因此,您需要添加cloudsqljdbc套接字库

然后通过附加的JDBC属性配置PostreSQL的套接字工厂:

quarkus.datasource.db-kind=other
quarkus.datasource.jdbc.url=jdbc:postgresql:///mydabatabe
quarkus.datasource.jdbc.driver=org.postgresql.Driver
quarkus.datasource.username=quarkus
quarkus.datasource.password=quarkus
quarkus.datasource.jdbc.additional-jdbc-properties.cloudSqlInstance=project-id:gcp-region:instance
quarkus.datasource.jdbc.additional-jdbc-properties.socketFactory=com.google.cloud.sql.postgres.SocketFactory
这里解释了一切:

正如我所说的,这在开发模式下不起作用,所以您必须使用本地数据库来使用开发模式


如果对您不起作用,请提供反馈

谢谢您的建议(+1)。我会试试的。谢谢,它连接得很好。但是,所有查询只命中主节点。有没有办法让它看到复制的实例?@SashaShpota这个问题应该在谷歌云端提出,我甚至不确定这是否可能。连接到云SQL的方式是正确的,因此我假设这是有人参与的行为。我查看了云SQL文档,云SQL是热备用的,这意味着所有查询都会转到主节点,当主节点关闭时,standaby节点将升级为主节点并接受请求。