当我读到google documentation时我看到推荐的方式是使用云sql代理:
To connect securely to Cloud SQL from Google Kubernetes Engine using a public IP address, you must use the Cloud SQL Proxy.
当我读到spring documentation时从另一面看我看到以下实现方式:
添加依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-gcp-starter-sql-postgresql</artifactId>
</dependency>
并指定属性:
spring.cloud.gcp.sql.instance-connection-name
spring.cloud.gcp.sql.database-name
spring.datasource.username
spring.datasource.password
我尝试了 spring 方式,它有效,但我不确定这是否是推荐的方式,因为谷歌文档。可以请您澄清一下吗?
附注
当我在cloudSQL端从公共(public)IP切换到私有(private)IP时,Spring Boot方法停止工作,并且我不知道如何恢复它?
最佳答案
spring-cloud-gcp-starter-sql-postgresql 是一个很棒的库,如果您正在构建 Spring 应用程序,我建议您使用它。它使用 Cloud SQL JDBC Socket Factory ,它使用与 Cloud SQL 代理相同的机制进行连接。
关于切换到公共(public) IP 与私有(private) IP - 有许多 specific requirements to using private IP 。对于 GKE,您需要确保您使用的是 VPC 原生集群,并且您与实例位于同一区域和 VPC。
关于java - 连接 Spring Boot 应用程序和 google Cloud SQL 的推荐方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59683928/