java - 连接 Spring Boot 应用程序和 google Cloud SQL 的推荐方式是什么?

标签 java spring-boot google-cloud-sql cloud-sql-proxy spring-cloud-gcp

当我读到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/

相关文章:

java - Android 天文钟格式 hh :mm without seconds

Java - 在特殊情况下关闭类字段的 Spring 验证

wordpress - 在 Google Cloud 和 Cloud SQL 之间设置 SSL

google-cloud-sql - Prisma DATABASE_URL 错误(Cloud Run + Cloud SQL)

python - 如何在 Google Compute Engine 中通过 Python 访问 Google Cloud SQL

java - 如何使用注释和纯 Java 在 Spring 中设置 hibernate.hbm2ddl.auto

java - 使用 JDBC 时出错 "java.lang.NullPointerException"

java - 如何使用 Gson 反序列化 ConcurrentMap

java - Spring 启动 Spring 安全AngularJS

java - Spring Boot 应用程序无法运行 - spring.resources.cache-period 未绑定(bind)