美文网首页
第9章 消息总线 Spring Cloud Bus

第9章 消息总线 Spring Cloud Bus

作者: 六朝遗孤 | 来源:发表于2018-02-26 21:48 被阅读0次

    在微服务架构的系统中, 我们通常会使用轻量级的消息代理来构建 一 个共用的消息主题让系统中所有微服务实例都连接上来, 由于该主题中产生的消息会被所有实例监听和消费, 所以我们称它为消息总线。 在总线上的各个实例都可以方便地广播 一 些需要让其他连接在该主题上的实例都知道的消息, 例如配置信息的变更或者其他 一 些管理操作等

    1 RabbitMQ实现消息总线

    1.1 ubantu中安装RabbitMQ
    1.1.1 安装Erlang:
    sudo apt-get install erlang
    1.1.2 新增APT仓库到/etc/apt/sources.list.d:
    echo'deb http://www.rabbitmq.com/debian/ testing main' I sudo tee /etc/apt/sources.list.d/rabbitmq.list
    1.1.3 更新APT仓库的packagelist:
    sudo apt-get update
    1.1.4 安装Rabbit Server:
    sudo apt-get install rabbitmq-server
    1.1.5 通过Web进行管理:
    rabbitmq-plugins enable rabbitmq management
    1.1.6 访问http: //localhost: 15672/,使用默认帐号密码guest登录并创建一个名为springcloud,tags为administrator的用户

    Screenshot from 2018-02-26 21-46-25.png

    2 SpringBoot整合RabbitMQ

    2.1 创建一个springboot工程命名为rabbitmq-hello并引入amqp依赖



    Screenshot from 2018-02-26 21-57-07.png

    2.2 配置application.yml文件


    Screenshot from 2018-02-26 22-36-27.png

    2.3 创建消息生产者 Sender 。 通过注入 AmqpTemplate 接口的实例来实现消息的发一送AmqpTemplate 接口定义了 套针对 AMQP 协议的基础操作。在 Spring Boot中会根据配置来注入其具体实现。 在该生产者中, 我们会产生 一 个字符串, 并发送到名为 hello 的队列中


    Screenshot from 2018-02-26 22-08-06.png

    2.4 创建消息消费者 Receiver 。 通过 @Rabb辽归江ener 注解定义该类对 hello 队列的监听, 并用 @Rabb江Handler 注解来指定对消息的处理方法。 所以, 该消费者实现了对 hello 队列的消费, 消费操作为输出消息的字符串内容


    Screenshot from 2018-02-26 22-13-53.png

    2.5 创建 RabbitMQ 的配置类 Rabb江Config, 用来配置队列、 交换器、 路由等高级信息。 这里我们以入门为主, 先以最小化的配置来定义, 以完成 一 个基本的生产和消费过程


    Screenshot from 2018-02-26 22-19-15.png

    2.6 创建单元测试类, 用来调用消息生产


    Screenshot from 2018-02-26 22-22-43.png

    2.7 启动工程访问rabbitmq的web管理页面


    Screenshot from 2018-02-26 22-34-51.png

    2.8 运行单元测试


    Screenshot from 2018-02-26 22-42-43.png

    相关文章

      网友评论

          本文标题:第9章 消息总线 Spring Cloud Bus

          本文链接:https://www.haomeiwen.com/subject/nrduxftx.html