gpt4 book ai didi

java - 从 GKE 连接到 Google Cloud SQL 数据库的方法比较

转载 作者:行者123 更新时间:2023-11-30 01:47:54 25 4
gpt4 key购买 nike

我一直在探索安全连接到 Google Cloud SQL 数据库的方法。我们使用 Google Kubernetes Engine 来部署 Java Spring 应用程序。

所以,https://cloud.google.com/sql/docs/mysql/connect-kubernetes-engine提到了两种从 kubernetes 连接到云 sql 的方法。由于我们没有 VPC 原生集群,因此无法使用私有(private) IP 方法。因此我们选择Cloud SQL Proxy docker镜像作为连接媒介。

然后,考虑https://cloud.google.com/sql/docs/postgres/external-connection-methods ,提到了以下选项:

enter image description here

我们不能采用公共(public) IP 方法,因为我们的 kubernetes pod IP 地址会不断变化。我们已经将 Cloud SQL Proxy docker 镜像列入候选名单。所以我们只剩下 JDBC Socket 库了。

因此,比较 Cloud SQL 代理和 JDBC 套接字库:

  • Cloud SQL proxy将是我们的 kubernetes pod 中的 sidecar 容器以及我们的应用程序容器。应用程序容器将使用云 sql 凭据连接到“localhost:5432”(代理)。代理将获得用于访问云 SQL 数据库的服务帐户。代理提供与云sql的安全连接。
  • JDBC Socket Library还提供与云sql的安全连接。需要在应用程序中添加 Maven 依赖项,应用程序只需提供正确的数据库连接字符串即可。

从上面的比较来看,JDBC Socket Library 似乎是更好的方法,因为我们不需要 sidecar 容器 - 云 sql 代理。

在应用程序部署在 Google Kubernetes Engine 中的情况下,与 JDBC 套接字库相比,Cloud SQL 代理有什么优势吗?

最佳答案

与套接字工厂相比,Cloud SQL 代理没有任何优势,只是代理可以为更广泛的应用程序、语言和框架提供身份验证。

如果您的项目已与 Cloud SQL JDBC Socket Factory 兼容,您应该改用它。它更加高效,因为它可以为您的应用程序创建直接连接。

关于java - 从 GKE 连接到 Google Cloud SQL 数据库的方法比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57274156/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com