当前位置: 首页 > 知识库问答 >
问题:

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

都飞跃
2023-03-14

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

因此,https://cloud.google.com/sql/docs/mysql/connect-kubernetes-engine提到了从kubernetes连接到云sql的两种方法。我们不能使用私有IP方法,因为我们没有VPC本机集群。所以我们选择云SQL代理docker映像作为连接介质。

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

我们不能采用公共IP方法,因为我们的kubernetes pod IP地址将不断变化。我们已经入围了云SQL代理docker映像。所以我们只剩下JDBC套接字库。

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

    < li >在我们的kubernetes pod和应用程序容器中,云SQL代理将是一个边车容器。应用程序容器将使用云sql凭据连接到“localhost:5432”(代理)。代理将获得访问云sql数据库的服务帐户。代理提供到云sql的安全连接。 < li>JDBC套接字库还提供到云sql的安全连接。需要在应用程序中添加一个Maven依赖项,应用程序只需提供正确的数据库连接字符串。

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

在应用程序部署在Google Kubernetes Engine中的情况下,与JDBC套接字库相比,Cloud SQL Proxy会提供任何优势吗?

共有1个答案

狄晟睿
2023-03-14

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

如果您的项目已经与云SQL JDBC套接字工厂兼容,您应该使用它。它更有效,因为它可以为您的应用程序创建直接连接。

 类似资料:
  • 我正在尝试从Spring Boot应用程序连接到mySQL数据库。然而,当我试图运行它时,它显示出错误。 我如何解决这个问题? 错误 从我的文件中添加代码片段 pom。xml 应用属性 堆栈跟踪 我还没有在sql中手动创建表,因为我认为spring.jpa.hibernate.ddl-Auto=date应该这样做

  • 使用第一个驱动程序(db2jcc.jar和db2jcc_license_cisuz.jar) 无法使用com.ibm.db2.jcc.db2driver建立到jdbc:db2:/host:446/database的连接([jcc][t4][2057][11264][3.69.24]应用程序服务器拒绝建立连接。试图访问数据库database,该数据库找不到或不支持事务。errorcode=-4499

  • 我尝试创建一个TNS_ADMIN环境变量,如本链接中所述-TNSPING OK但是sqlplus给出了ORA-12154?但是当我尝试使用sqlplus连接到

  • 我一直在努力使用数据库URL概述部分提到的以下连接字符串从Spring Boot应用程序连接H2数据库: 我还尝试了许多不同的tcp(服务器模式)连接组合,但仍然出现错误,例如“连接中断:”java。网运行Spring Boot app时,SocketTimeoutException:连接超时:localhost:9092”。 那么,如何解决这个问题并通过服务器模式连接到H2数据库呢?

  • 本文向大家介绍C#连接数据库和更新数据库的方法,包括了C#连接数据库和更新数据库的方法的使用技巧和注意事项,需要的朋友参考一下 对数据库的操作总体可以分为两类:查询(select)和更新(insert,delete,update)。为什么这样来分呢?仔细看看两类的区别,select只是从数据库中将数据拿出来使用,而其余三者都会对数据库的物理数据进行修改。这篇文章将接着阐述更新数据。 更新数据库信息

  • 问题内容: 该问题重复了一些较早的问题,但此后情况可能已发生变化。 是否有官方支持从Node.js连接到SQL Server(例如,来自MS的官方库)?还是至少有一些维护良好的第三方库适合生产级应用程序? 我们通常使用ASP.NET MVC / SQL Server组合,但是目前我有一个Express / Node.js似乎更合适的任务(并且我想尝试一些新的东西),所以问题是我们是否可以依赖于No