问题标签 [spring-cloud-zookeeper]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
242 浏览

docker - 为 Zookeeper 和 Spring Cloud 编写 Docker - 我的服务未连接到 Zoo

我正在尝试使用 docker-compose 在容器内运行 zookeeper 和 spring 云服务。当我运行服务 jar 文件并启动动物园时,一切都很好。但是,当我尝试在容器中运行时,服务无法连接到动物园 -

这是 docker-compose up 时的错误:

这是我的 yaml.file

服务的 Docker 文件:

我的服务没有定义任何 Zookeeper 端口,所以我猜 2181 应该没问题。无论如何,这是我的构建文件:

谢谢!!!!

0 投票
1 回答
179 浏览

python - Spring Cloud Gateway/Zookeeper 的非 Java 发现注册

底线:有没有办法在 Zookeeper 中支持非 Java 发现客户端制作的实例,同时提供自定义元数据。

我正在构建一个 Spring Cloud API 网关。我们对大部分路由和 Spring Cloud Load Balancer 使用 Zookeeper 发现。它适用于 Java 微服务。除了正常的发现和负载均衡,我想使用元数据来指定自定义属性;像安全和速率限制参数。

我需要介绍一些用 Python 编写的非 Java 服务,所以我想为这些服务使用发现,因为它们托管在动态集群中。在这种情况下,如果我能让 Zookeeper 做我需要的事情,那么继续使用 Zookeeper 对我们来说意义重大。

我检查了 Zookeeper /services 节点的内容,看看发生了什么,我能够复制其中的大部分内容,并实际让发现和负载平衡工作,但元数据更深一层,我无法理解工作,因为它嵌入在策展人/动物园管理员特定的对象中。

我想我知道的足够多,可以编写自己的实现DiscoveryClient并返回自己的ServiceInstances,但如果我几乎可以使用我已经拥有的东西,那似乎需要做很多工作。我还必须为此编写 Python 客户端。

0 投票
1 回答
428 浏览

amazon-web-services - 使用 Fargate 在 AWS ECS 上部署 Spring Cloud Zookeeper 和 Feign

我有两个 Spring Boot 应用程序,都使用 Spring Cloud Zookeeper 进行服务发现,其中一个使用 Feign 与另一个对话,如此处所述

当部署在 localhost 和作为 docker 映像时,一切正常,docker-compose但是当作为单独的任务/服务部署到 AWS ECS(使用默认网络模式awsvpc)时,两者之间的通信不再有效,并且 Feign 客户端错误如下:

请注意,这里的响应有点像标准的 Tomcat 404 响应。

我已经看到了此 AWS 部署存储在 Zookeeper 中的值,它似乎将 IP 地址作为 的值address,我不确定这是否正确。

此 IP 地址与 ECS 任务关联的 ENI 的公网 IP 和私有 IP 均不匹配。

如果我用 ENI 的公共 IP 手动替换该addressZookeeper 条目的值,它会再次开始正常工作(但不能使用私有 IP)。但显然,在新部署后它会再次被破坏。

任何帮助表示赞赏

0 投票
0 回答
707 浏览

java - 动物园管理员:java.lang.ClassNotFoundException:org.apache.zookeeper.admin.ZooKeeperAdmin

我有一个版本为 3.4.10 的动物园管理员和一个版本为 2.12.0 的管理员,但版本低于 3.5.8 的动物园管理员对 log4j1 有严格的传递依赖。我想使用 log4j2,这就是为什么需要更新 zookeeper 版本。我尝试了不同的组合:

  1. zookeeper 3.6.1 和 curator 5.1.0
  2. zookeeper 3.5.9 和 curator 5.1.0
  3. zookeeper 3.5.9 和 curator 5.0.0
  4. zookeeper 3.5.9 和 curator 5.1.0 + 从 curator 中排除 zookeeper 依赖
  5. zookeeper 3.5.9 和 curator 4.3.0 + 从 curator 中排除 zookeeper 依赖
  6. zookeeper 3.6.1 和 curator 5.1.0 + 从 curator 中排除 zookeeper 依赖

所有这些选项都失败了。1 个选项因以下堆栈跟踪而失败:

2-6 个选项看起来具有相同的 stracktrace:

实际上,ZooKeeperAdmin 类从 3.5.7 开始就出现在 Zookeeper 中,这就是为什么找不到它的原因。

有人可以提出任何想法吗?依赖版本是否有问题(我找不到 zk > 3.4 with curator 的任何详细信息)?或者有什么方法可以调试和理解这个问题?

0 投票
0 回答
32 浏览

apache-zookeeper - 来自 Spring Cloud 的 Zookeeper 对象实例

我有一个 spring boot 应用程序,我在其中使用 Zookeeper 启用了服务发现。我在 pom 中有以下依赖项

现在除了服务元数据,我希望在 zookeeper 中推送一些额外的数据(创建 znodes)。使用上述依赖项,我如何访问 org.apache.zookeeper.ZooKeeper 实例和/或 org.apache.curator.utils.ZookeeperFactory 实例?

0 投票
1 回答
36 浏览

java - 无法执行 ZooKeeperMetaDataStore 的代码

我正在使用 spring 集成,我正在尝试为 MetaData 创建一个 bean

我收到错误

进一步挖掘后,我发现类 PathChildrenCache 已被弃用并被接口取代。有什么办法可以运行这段代码。

项目使用的依赖项

0 投票
0 回答
18 浏览

spring-cloud-stream - 可以在外部配置属性值更改时更改目标主题名称

我使用 Spring Cloud Stream Kafka Binder 和 Spring Cloud Zookeeper 分布式配置。流应用程序正确地从外部服务器(Zookeeper)加载绑定配置并正常工作。

但是,如果我更改目标主题名称,绑定不会更改。如果我调用actuator/envactuator/channels端点,一切正常(属性值已更新)。但是,如果我通过实现Supplier<Message>的类(具有服务注释并在 spring.cloud.function.definition 中定义)发送消息,则消息将发送到旧目的地。

外部配置更改时是否可以重新加载现有绑定?生产者和消费者方是否相同?

(依赖项:spring-cloud-starter-stream-kafka:3.1.3,spring-cloud-starter-zookeeper-config:3.0.3)

0 投票
0 回答
33 浏览

nginx - 使用 Zookeeper 注册表时如何将 NGINX 配置为 api 网关

服务注册zookeeper时如何配置nginx读取动态服务。对不起,我的英语不好

在 application.yml 中。

在文件 api_gateway.conf 我有上游:

在 nginx.conf 我包括 api_gateway.conf 并使用

它成功了。但我希望 nginx 从 zookeeper 发现中读取 ip 和端口,就像 spring cloud gateway 和 spring eureka 一样。

0 投票
0 回答
26 浏览

spring-boot - 使用 Eureka 进行服务发现时如何使 Spring Boot 微服务保持一致?

选择服务发现类型的主要标准是 CAP 定理。 https://www.ibm.com/in-en/cloud/learn/cap-theorem C- 一致性 A- 可用性 P- 分区容限

它说分布式系统只能提供三个所需特性中的两个:一致性、可用性和分区容错性。这些特征之一总是被权衡取舍。

Eureka 给 AP、Consul CA、Zookeeper CP

在我的项目中,开发人员正在使用 Eureka,我们如何使您的服务保持一致?

0 投票
0 回答
21 浏览

apache-zookeeper - Zookeeper :为客户端分配范围

当更多客户端连接到组并分配范围时,如何让 Zookeeper 管理客户端 C1、C2、C3 的数字范围,例如 1 到 50、51 到 100 等?