首页 > 编程知识 正文

分布式事务消息队列解决方案,hot spring

时间:2023-05-05 20:51:50 阅读:8937 作者:1268

SpringCloud微服务组件-使用消息总线bus定义2配置批量发送消息

一个定义

在以前使用SpringCloud Config后,可以为项目动态提供配置,但还存在以下几个问题:

由于与业务绑定的n个微服务端手动刷新手动刷新需要n次,因此提取了一个名为SpringCloud Bus的消息总线组件。 使用bus,可以实现config的自动刷新配置,也是config的增益错误,通常是通用的。

正如文字所示,消息总线与消息有关,因此他支持RabbitMQ

结合SpringCloud Bus的体系结构图

其实,我们原本手动更新配置的操作交给了mq。 mq可以向所有订阅者发送消息,通知他们去自动更新。 这样,无论有多少微服务,我只需要向config发送一条通知消息。 config只要向其他微服务通知配置更新就可以了。

简而言之,springcloud为我们封装了bus组件,该bus组件又是rabbitmq的代理,简单地构建消息并传播到其他微服务,让这些微服务拦截

双配置实现消息批量发送bus支持RabbitMQ,也支持Kafka。 这里以RMQ为演示。

因为我们实现了配置服务器并通知其他服务端(即zuul ),所以必须在配置端和zuul网关上配置总线消息总线。

在配置端引入总线依赖:

ependencygroupidorg.spring framework.cloud/groupidartifactidspring-cloud-starter-bus-amqp/artifact id/ependencydependencygroupidorg.spring framework.boot/groupidartifactidspring-boot-starter-actuator/artifact id/DDD

spring : rabbit MQ : host :192.168.1.204 port :5672 username :管理员密码虚拟主机3360 im oooc

bus动态刷新路径请求管理: end points 3360 web : exposure : include : ' * '4.在客户端上配置pom :

ependencygroupidorg.spring framework.cloud/groupidartifactidspring-cloud-starter-bus-amqp/artifact id/dependendend

spring : rabbit MQ : host :192.168.1.204 port :5672 username :管理员密码虚拟主机3360 im oooc及其他

修改git上的配置以通过postman发送post访问http://192.168.1.233607080/actuator/bus-refresh以更新config-server并更新客户端配置。 因此,具有n个微服务的精确通知:通过设置特定的客户端地址,可以提供准确的通知,只需更新配置中心即可。

http://192.168.1.233607080/actuator/bus-refresh/{服务实例id}:{端口号}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。