- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用Consul从使用spotify的dnsjava在默认Debian服务器上运行的Java应用程序中进行服务发现
我知道 Consul DNS 监听端口 8600 进行查询 ( https://www.consul.io/docs/agent/dns.html )。
但是 DNS 默认监听端口 53,因此需要将查询转发到 Consul。我使用 IPTables 进行了此转发 - 但我不知道这是否是正确的方法。然而使用 dig 确实有效,但我不知道副作用可能是什么。作为应用程序开发人员,我不一定有权更新 iptables 并安装其他软件包
我有一个名为 bapi 的服务
sudo apt-get install dnsutils
sudo iptables -t nat -A PREROUTING -p udp -m udp --dport 53 -j REDIRECT --to-ports 8600
sudo iptables -t nat -A PREROUTING -p tcp -m tcp --dport 53 -j REDIRECT --to-ports 8600
sudo iptables -t nat -A OUTPUT -d localhost -p udp -m udp --dport 53 -j REDIRECT --to-ports 8600
sudo iptables -t nat -A OUTPUT -d localhost -p tcp -m tcp --dport 53 -j REDIRECT --to-ports 8600
dig @127.0.0.1 -p 8600 bapi.service.consul. SRV
dig @127.0.0.1 -p 8600 bapi-stub-node.node.consul. ANY
dig @127.0.0.1 -p 53 bapi.service.consul. SRV
dig @127.0.0.1 -p 53 bapi-stub-node.node.consul. ANY
此应用程序尝试从 Java 应用程序查找 DNS,但它不起作用,我不知道为什么
https://github.com/tonymurphy/srv-discovery
我知道Spring有consul集成和服务发现,但我不想要它带来的所有包袱,而且它似乎确实使用http api来进行服务查找
最佳答案
有两种方法:
使用端口转发,例如 ip 表(您使用过的)、dnsmasq 等。例如,使用 debian 包管理器安装 dnsmasq 将是:apt-get install dnsmasq
然后:echo "server=/consul/127.0.0.1#8600">/etc/dnsmasq.d/10-consul
使用 port.dns 配置让 consul 监听端口 53(https://www.consul.io/docs/agent/options.html)
我更喜欢进行端口转发,因为监听低端口需要 root 权限,而授予 consul root 权限可能不是一个好主意。另一方面,安装 dnsmasq 或其他解决方案只是您系统的另一个依赖项。
无论如何,您必须在它们之间进行选择,并且这两种方法都需要 root 权限(请要求您的系统管理员支持您)。
您可以在这里阅读所有相关内容: https://www.consul.io/docs/guides/forwarding.html
关于java - Consul Java DNS SRV 查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39142280/
Consul服务定义json如下 { "Address": "192.168.10.10", "TaggedAddresses": { "lan": "192.168.10
在 Consul 中,您可以拥有许多代理作为服务器或客户端。在所有服务器中,一个被选为领导者。从代理的角度来看,它怎么知道自己是领导者? 最佳答案 consul operator raft list-
对于 Eureka,服务可以直接将自己注册到 Eureka 服务器。为什么我们应该向 Consul 客户端而不是 Consul 服务器发送请求?让服务直接与Consul服务器通信有什么问题吗? 感谢您
我四处搜索,这似乎不可能,但我想确认我没有遗漏任何东西。我们正在向 consul 注册一个应用程序。当服务终止时,它会在一定时间后自动删除。如果可能的话,这个选项是可配置的吗? 最佳答案 我认为检查注
我正在使用 Traefik 在 Consul 中注册的不同服务之间进行负载平衡。 我正在使用consul-catalog配置并通过在 consul 中定义服务时添加标签来覆盖其中一项服务的前端路由规则
我正在尝试提出 consul用于生产目的的集群。我没有找到太多关于部署 consul 集群的最佳实践的信息。假设我想要一个包含 3 个节点的集群。我想知道以下场景之间有什么区别以及首选哪种场景。 正在
我发现在几种情况下,存储有关特定服务的附加元数据会很方便,但services API中似乎不支持自定义字段。 (只有基本的id、姓名、地址、端口)。例如,数据库名称或负载均衡器权重。 我对设计决策很好
所以我构建了一个 3 节点的 Consul 集群。现在它们仅由 IP 地址表示。在阅读文档时,我不清楚如何将他们的位置暴露给其他想要查询的人。 我可以将当前领导者的 IP 地址硬编码到其他代理中,
我目前是一名实习生,必须托管一个微服务应用程序。我选择将 AWS ECS 与 Fargate 任务结合使用来托管 Consul Connect Service Mesh,为应用程序提供服务发现、意图、
我将 Ocelot 和 API 网关与 Consul 和服务发现一起使用。我正在 Consul 中使用动态名称注册服务,例如:service.name.1234 和 service.name.5678
实现这个需要什么配置? 可以使用此处提到的“开发模式”- https://learn.hashicorp.com/consul/getting-started/agent (但不推荐用于生产)。 我试
我的 Prometheus 服务器从 Consul 获取它的目标列表(或“服务”,在 Consul 的行话中)。我只想监控这些目标的一个子集。这应该可以通过 Prometheus 的 regex 机制
我们使用 Consul 并且我们愿意强制开发人员只能使用 git2consul 方法来更改它,以保留属性更改的历史并维护备份。 为了确保这一点,我们希望使 Consul Key-Value 浏览器 U
当 Prometheus 使用 Consul 的自动发现功能来获取要监控的目标列表时,它也会自己获取 Consul 服务器。这很棒 - 我们想用 Prometheus 监控这些人。问题是Consul用
我有一个使用以下服务定义向 Consul 注册的测试服务: { "name": "web", "tags": ["web1"], "address": "example.com", "
我需要更改默认的 http 端口,因为另一个应用程序已经在使用 8500。 此命令有效: 领事信息-http-addr=http://127.0.0.1:18500 我无法弄清楚这等于配置文件中的什么
我试图在更新 consul 的 KV 对时获取它的锁,所以没有其他人可以更新它。 最初我有 curl -XGET http://localhost:8500/v1/kv/hosts?raw {"k1"
我想知道是否有办法过滤服务领事使用标签返回我。 终点: /v1/catalog/services 将服务映射返回到标签列表,并要求我在返回后解析服务。 我想知道是否有某种方法可以将我想要的标签(或多个
我正在尝试了解如何使用 Consul 进行应用程序领导者选举。我正在使用来自 java consul-client 的 LeaderElectionUtil。 我可以选举一个领导者,并且所有节点都同意
我决定关注this指导,我遇到了很多问题。 首先需要在 command 中指定 traefik 命令,否则我会遇到 entrypoint.sh 找不到的错误命令 storedata,是 > yaml
我是一名优秀的程序员,十分优秀!