发布
社区首页 >问答首页 >Docker群JDBC连接

Docker群JDBC连接
EN

Stack Overflow用户
提问于 2016-09-26 13:51:39
回答 1查看 477关注 0票数 1

在包含可以部署数据库的多个节点的Docker群上运行Postgresql DB。使用Docker版本的1.12+。

使用数据容器,Postgresql故障转移运行良好。现在,我希望有一个Java客户端连接到DB,并在故障转移中生存下来。如何在这里管理JDBC连接?连接字符串会改变吗?还是应该通过运行在其他地方的nginx容器来管理?在任何地方都有这样的例子吗?从概念上讲,我想我可以把它移到另一个(类似于nginx的)容器上,但是不能很好地了解细节!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-26 15:56:16

在群集模式中,通过DNS名称为同一覆盖网络中的服务进行服务发现,您不需要自己添加代理层。swam网络文档将详细介绍,但本质上:

代码语言:javascript
代码运行次数:0
复制
docker network create -d overlay app-net
docker service create --name app-db --network app-net [etc.]
docker service create --name app-web --network app-net [etc.]

您的数据库服务器可由网络中的DNS作为app-db提供给同一app-net网络中的任何服务。因此,app-db是您在JDBC连接字符串中使用的服务器名称。您可以有多个Postgres容器的副本,也可以有一个在故障转移时移动的容器--服务总是在该地址可用。

但是:我会谨慎使用数据容器的故障转移。您有一个带有数据库状态的容器;即使您的状态在卷中,它也不会在集群中移动。因此,如果具有数据的节点失败,数据容器将在其他地方启动,但数据不会与它一起运行。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39704753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档