Tag: 负载平衡

普罗米修斯从未知数量的(docker)主机刮

我的下一个问题: 我有一个docker群,有一个prometheus容器和1-n容器用于特定的微服务。 微服务容器可以通过一个url来访问。 我想这个url的请求是一种负载平衡(当然…)。 目前我已经产生了两个微服务容器。 现在查询指标似乎在两个容器之间切换。 示例:总请求数:10,13,10,13,10,13,… 这是我的普罗米修斯configuration。 我需要做什么? 我不想调整prometheusconfiguration每次我杀或启动一个微服务容器… scrape_configs: – job_name: 'myjobname' metrics_path: '/prometheus' scrape_interval: 15s static_configs: – targets: ['the-service-url:8080'] labels: application: myapplication 更新1我改变了我的configuration,如下这似乎工作。 这个configuration在docker swarm里面使用了一个dns查找,并且find所有运行指定服务的实例。 scrape_configs: – job_name: 'myjobname' metrics_path: '/prometheus' scrape_interval: 15s dns_sd_configs: – names: ['tasks.myServiceName'] type: A port: 8080 这里的问题是:这个configuration是否意识到一个docker实例被停止,另一个启动? 更新2有一个参数为我所要求的… scrape_configs: – job_name: 'myjobname' metrics_path: '/prometheus' scrape_interval: 15s dns_sd_configs: […]

在docker集装箱内,我们可以得到主机IP和分配的随机端口

在docker集装箱内,我们可以得到主机IP和分配给暴露端口的随机端口。 用例是发送一个serf事件来join具有由docker守护进程分配的主机ip和随机端口的集群,以便负载均衡器可以自行更新。 我喜欢从这个容器内发送这个事件,而不依赖主机

有没有办法在Java应用程序的用户之间划分服务器资源?

我想知道是否有可能通过服务器资源拆分在Tomcat下运行的Java应用程序的用户? 问题描述 我们有一个用Java编写的应用程序,在Tomcat服务器的控制下运行。 有时用户可能会做一些导致服务器长时间收费的操作。 这就要求每个用户的服务器资源有一定的限制,使他不能使服务器崩溃。 一时之间,我想到的唯一想法是容器化Docker中的所有应用程序,并为每个用户启动一个单独的资源受限的容器。 它看起来像缺less一个更简单的解决

Docker swarm forawrd请求只有一个节点

数字海洋云中有2台机器。 188.226.167.12,146.185.135.232。 我的应用程序显示主机的名称。 每个节点都包含我的服务的一个副本。 当我多次访问: http : //188.226.167.12 : 8080/或http://146.185.135.232:8080/时 ,主机名不会更改。 这意味着这些请求没有负载平衡。 泊坞窗,compose.yml: version: "3" services: web: image: stavalfi/projecty:latest deploy: replicas: 2 restart_policy: condition: on-failure ports: – "8080:8080" networks: – webnet networks: webnet: 我怎样才能为我的请求做一个负载平衡器?

Docker,Haproxy,RabbitMQ

我有一个在3节点rabbitmq集群前面的haproxy docker实例。 我是同一个Docker群体,我有一个Springboot微服务,通过代理访问队列。 如果我让所有的东西都自己出现,那么微服务就不断地尝试连接到rabbitmq而不能。 如果我重新启动haproxy泊坞窗容器,当它出现一切都很好。 这使得它看起来像1)如果Haproxy不能连接到rabbitmq服务器,因为他们不起来,它不会最终连接到他们,当他们 或2)尝试通过haproxy连接失败后,重新启动haproxy使他们再次尝试并成功。 对我来说都没有意义。 当然,如果haproxy正在寻找3台服务器,但有一台服务器出现故障,当它恢复运行时,它最终会将其拉入循环赛? 任何人都可以解释什么(可能)发生?

在HA负载平衡器后面集群Docker容器

大多数Docker的文献都认为,你可以在同一个物理服务器上运行数百甚至数千个容器。 我想知道从负载平衡/集群的angular度来看这是什么样子。 假设我有一个REST风格的Web服务fizz-service.war 。 通常,对于“正常”的虚拟机,我可能会将这个服务部署到50个虚拟机(例如, fizzsvc01.example.com到fizzsvc50.example.com ),然后在服务URL后面集群/负载平衡这些虚拟机,例如http://fizz-service.example.com 。 当请求进入时,负载均衡器select一个节点来转发请求,比如fizzsvc34:8080/fizz-service 。 我想知道如何与Docker容器一起工作。 如果我有相同的50个容器运行,比如5个节点: 这些节点可以是VM还是物理服务器? 对于运行在相同节点上的容器,它们是否都在自己的端口上运行? 否则,你怎么能在同一个端口上运行50个服务实例? 而对于“正常的虚拟机”,负载平衡器configuration了所有构成池的虚拟机,然后我只是将我的服务部署到池中的每个虚拟机上,Docker容器如何改变? 我的负载平衡器(可能是单独的基础设施,如F5或Nginx)如何“ 知道 ”可用于分配负载的所有容器? 或者当我进入Docker-land时,我的整个HA /负载平衡方法是否需要改变?

我真的需要docker群吗?

我有一个关于docker群的愚蠢的问题。 我想我可以在两个容器中启动一个Web应用程序映像,无论是在同一台服务器还是两台虚拟机服务器上,然后启动一个负载平衡容器,通过IP和端口指向两个Web应用程序容器。 在这种情况下,为什么我需要docker swarm进行集群pipe理? docker群可以带来什么好处? 我已经从Docker文档中读到了,他们只介绍什么是swarm以及如何使用swarm。 但是我找不到为什么我必须使用swarm的答案。 谢谢

领事和Tomcat在同一个docker集装箱

这是一个由两部分组成的问题。 第一部分:在同一个docker集装箱中运行Consul和Tomcat的最佳方法是什么? 我已经build立了自己的图像,正确地安装了Tomcat和Consul,但我不确定如何启动它们。 我试图把这两个调用作为CMD在Dockerfile,但没有成功。 我试图把Consul作为ENTRYPOINT(Dockerfile)和Tomcat在“docker run”命令中调用。 反之亦然,但我有一种感觉,这也不是好的方法。 docker将运行在一个AWS实例中。 每个Docker容器都将运行Consul作为服务器,以在另一个AWS实例中注册自己。 领事和领事模板将被集成到适当的负载平衡中。 这样,当我插入或拔出容器时,我的HAproxy实例将能够正确地转发请求。 第二部分:在我做的个别testing中,docker集装箱能够到达我的主要领事服务器(领导者),但是它没有注册自己作为“活着的”节点。 阅读Consul服务器上的日志,我认为是我公开和发布的端口的问题。 在AWS中,我已经允许在此特定安全组中的实例之间在TCP和UDP的所有端口上进行通信。 你知道我应该公开和发布哪些端口,以允许独立领事(aws实例)和领事服务器(运行在aws容器内的docker容器内)之间进行适当的通信? 什么是命令来运行docker容器:docker运行-p 8300:8300 ……… 谢谢。

Docker SWARM容器的循环行为不适用于多个主机

如果群集服务部署在2节点群集(1manager + 1worker)中。 假设副本设置为3,则会启动容器:一个节点中有2个,另一个节点中有1个容器。 当IP地址pipe理器或工作者命中curl命令时 – 驻留在同一主机上的容器以RR方式被服务。 这个请求不会从另一个节点获得服务,因此这个configuration对于​​我来说不能实现故障转移或HA(跨越多个节点)的目的。 让我分享一下我所做的详细步骤: https : //privatedock.wordpress.com/2017/04/09/docker-swarm/ 请让我知道如果我错过了什么。 提前致谢。

swarm负载平衡应该在其节点上执行健康检查吗?

swarm文档中的负载均衡部分并不清楚内部负载均衡器是否也进行了健康检查,并且是否删除了不再运行该服务的节点(因为它被终止或节点重新启动)。 在下面的情况下,我已经获得了3个节点上运行的副本3,1个实例的服务。 经理: [root@centosvm ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a593d485050a ddewaele/springboot.crud.sample:latest "sh -c 'java $JAVA_OP" 7 minutes ago Up 7 minutes springbootcrudsample.1.5syc6j4c8i3bnerdqq4e1yelm 节点1: [root@node1 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d3b3fbc0f2c5 ddewaele/springboot.crud.sample:latest "sh -c 'java $JAVA_OP" 4 minutes ago Up 4 minutes springbootcrudsample.3.7y1oyjyrifgkmxlr20oai5ppl 节点2: […]