问题标签 [spring-cloud-bus]
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.
spring-cloud - 如何为 spring-cloud-starter-bus-kafka 1.2.0.RELEASE 提供 SSL 配置
我正在使用 Spring Boot 1.5.6.RELEASE、Spring Cloud Config 1.3.2.RELEASE 和 Spring Cloud Starter Bus (Kafka) 1.2.0.RELEASE,Kafka 版本是 0.10.1.1。我正在尝试将其配置为使用两个启用 ssl 的代理,但我最终会收到重复的警告消息序列(每个代理一个),如下所示:
在我的配置中,我有(仅包含此处的相关部分):
但是,当 ProducerConfig 和 ConsumerConfig 吐出它们的配置值时,它们都表示:
此外,我收到以下警告消息:
我将需要为信任库、密钥库以及它们的密码和存储类型添加配置,并且我还想知道如何在不将它们硬编码到 yaml 配置中的情况下提供这些配置。我的首选方法是使用 jvm 属性填充这些配置属性。
知道我做错了什么吗?
在尝试了各种事情之后,这是一个有趣的更新。如果我创建一个使用@EnableKafkaStreams 注释的@Configuration 类,我可以创建一个StreamsConfig,其中包含按指定配置的所有各种属性,但这会创建一个新的独立的生产者和消费者。spring cloud bus kafka 生产者和消费者仍然没有配置超出默认值。
spring-boot - 为什么 Spring Boot Application 在添加 spring-cloud-bus 依赖项后记录它启动了两次
这是我的 Spring Boot 应用程序中的简单代码:
还有一个 ApplicationListener 类来监听 ApplicationEvent:
build.gradle 包含这些依赖项:
现在,当我运行这个 spring boot 应用程序时,我看到这个日志打印了两次:
通常,此日志只打印一次,但如果我添加这些依赖项,它会打印两次:
这是完整的日志:
如您所见,ApplicationReadyEvent 发生了两次。
为什么会这样?有没有办法避免这种情况?
rabbitmq - Spring Cloud Bus,以更易读的方式重命名MQ
我的 Cleint 有 2 个实例,我正在使用下面的代码段重命名队列,可以看到 testExchange.testQueue 已创建,我可以在其中看到 2 个消费者,即我的客户端实例,但是 /bus/refresh 我只能看到单个实例正在刷新而且我没有在 /bus/refresh 上获得 Cloud Bus 功能,即所有实例都应该刷新,如果我缺少任何配置以将队列重命名为可读格式,请告诉我。
spring-cloud - 带有 aws-kinesis 的 Spring Cloud Bus
在Spring Cloud Bus
(https://github.com/spring-cloud/spring-cloud-bus)的文档中提到它像
Bus starters 涵盖了Rabbit和Kafka,因为这是最常见的两种实现,但是 Spring Cloud Stream 非常灵活,并且 binder 可以与 spring-cloud-bus 结合使用。
在我的项目中,我们无法为 Rabbit 或 Kafka 维护另一个基础架构,因此我想将spring-cloud-stream-binder-aws-kinesis
(https://github.com/spring-cloud/spring-cloud-stream-binder-aws-kinesis)与spring-cloud-bus
. 谁能指导我该怎么做?
java - Spring Cloud Bus - 客户端没有收到更改
我认为我在使用 RabbitMQ 实现 Spring Cloud Bus 方面处于死胡同。
请记住,这是通过Spring Boot 2.0.0.M7 和 Spring Cloud Finchley.M5完成的,根据它们的发行说明,它们应该是兼容的。
我试图让它工作:
- 在配置服务器的 Git 存储库中编辑 .yml 文件
- ConfigServer 应该通过 GitHub 的 webhook 接收通知(通过 ngrok 暴露 localhost 地址)
- 连接到配置服务器的客户端应该通过
/actuator/bus-refresh
POST 调用接收刷新请求
但是,我可以在服务器的日志中看到这一点:
(空数组是罪魁祸首吗?在这种情况下,我真的不知道该怎么办:()
客户端没有任何内容(除非我手动向总线刷新端点发送 POST 请求)......在这种情况下,日志中的输出如下:
当我查看 RabbitMQ(作为 Docker 容器运行)中的图表时,我看到三个连接的应用程序:客户端、Zuul(反向代理)和配置服务器。
你能帮我解决这个问题吗?非常感谢。以下是我对应用程序的配置。
配置服务器 POM.xml:
配置服务器 application.yml:
客户的 POM.xml:
客户端的 bootstrap.yml:
spring-boot - 总线刷新端点在春季云 Finchley.M8 中不起作用
我使用带有 Spring boot 2.0.0.RELEASE 的 Spring cloud config Finchley.M8 版本。我注意到 /bus/refresh 已更改为 /bus-refresh。但是,每当我使用 post http 请求点击 url 时,它就无法正常工作。这是 application.properties 的片段:
此外,我扩展了 WebSecurityConfigurerAdapter 以添加以下代码片段:
这是我试图测试的网址:
然后我收到以下错误消息
此外,这里是 pom.xml 中依赖项的片段:
请问有什么帮助吗?
注意:我使用的是带有 spring 1.5.6 的旧版本的 spring cloud,它工作正常,当我使用最新的 spring cloud 版本迁移到 Spring boot 2 时遇到了这个问题。
java - 从 amqp 客户端到 rabbitmq 服务器的 Java 8 SSL 握手失败
请阅读上一篇文章的上下文。那个问题就解决了。 重新创建队列并重新连接rabbitMQ
现在,我正在尝试在 rabbitmq 服务器和 rabbit 客户端之间设置启用 ssl 的连接。我正在使用带有弹簧云总线的弹簧靴。没有 SSL,一切都完美无缺。
- 用它来运行 java rabbit 客户端。
> 版本
Java 1.8
spring-cloud-starter-bus-amqp => 1.3.1.RELEASE
Spring Boot 父级 => 1.5.9.RELEASE
sudo java -Djavax.net.debug=all -Dhttps.protocols=TLSv1 -jar target/rabbit-client-0.0.1-SNAPSHOT.jar
也试过 -Dhttps.cipherSuites=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
- 我使用了以下命令,它的结果为已验证 [ok]。这告诉我rabbitmq 服务器已正确配置证书。
- 我可以从 chrome 浏览器访问 rabbitmq managemnet 门户,并且它信任证书,因为我在钥匙串中添加了它信任。
- 我已将证书和 CA 证书添加到 java 密钥库并信任它。
- Amqp 客户端无法建立连接并在启用 SSL 时失败。
这是我认为可能存在但不确定的问题。
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 TLSv1.1 出现在不受支持的密码列表中,可能是 rabbitmq 服务器要求将其作为加密套件。
spring-cloud-config - Spring Config Server 似乎没有通知 Bus
我正在使用 Spring 2.0.1.RELEASE 并使用 spring-cloud-bus 设置了所有项目(2 个服务和云配置服务器)
配置服务器也有 spring-cloud-config-monitor
我在我的 Git 存储库中编辑了一个文件(使用带有 Spring Cloud Config 的本机配置文件的本地文件)。检测到更改,我在 Cloud Config Server 中看到以下行:
但是,其他服务都不会收到有关更新密钥的通知。
另一方面,如果我手动调用bus-refresh
任何其他服务的端点,我会看到所有模块都收到更新的密钥。配置服务器本身也收到通知,但它说没有更新密钥,这是有道理的,因为它已经检测到更改。
该文档没有提到要设置的任何特殊属性,除了 RabbitMQ 属性(由于bus-refresh
端点按预期工作,这些属性似乎配置得很好。)
我看到已经有一些关于这个的帖子,甚至指向一个已标记为已解决的错误(https://github.com/spring-cloud/spring-cloud-bus/issues/101)但它似乎没有在我这边工作。
配置服务器启用任何属性以通知总线?关于如何调试的任何提示?
spring-boot - springcloud-stream 和 springcloud-bus 有什么区别?
它们之间有什么区别?
是springcloud-stream
的实例之一springcloud-bus
吗?
据我所知,他们都关心 MQ。
java - 为 spring-cloud-bus 设置 zookeeper 主机和端口
我有一个带有 spring-cloud-starter-bus-kafka 的项目,我在里面设置了 kafka URL,application.yml
如下所示:
这可以在本地部署 kafka 和 zookeeper 时找到,但是如果我将 kafka 和 zookeeper 移动到他们自己的服务器上,当 spring-boot 启动时会出现错误:
新配置
错误
我应该如何配置 kafka 和 zookeeper 以连接到他们的服务器?