分享

spring-boot(十三)messaging[基于kafka实现消息队列

 关平藏书 2018-01-12

spring-boot对各种插件的支持是非常方便的,对我们的程序开发带来了非常大的便利.
之前整合各种框架,配置文件都得弄老半天,现在只需要引入插件的支持,就可以实现即插即用的效果.

鉴于网上对message的文章已经很多了,这里我就选取kafka来讲述下.

首先我的一贯主张是想要了解一个框架或插件,最直接的方式就是去看官方文档.这样会避免我们走很多弯路.
微信截图_20170527100900.png

  1. 在spring-boot的官方文档中看到kafka的插件依赖,引入到pom文件中
    微信截图_20170527100539.png

  2. 在配置文件中增加参数配置
    微信截图_20170527101815.png

  3. 编写消息发送代码
    微信截图_20170527101947.png

  4. 编写消息接收代码
    微信截图_20170527101955.png

  5. 更多关于kafka的配置请参考
    微信截图_20170527102407.png


下面我就参照官方的例子来搭建环境
由于之前的spring-boot文章是采用1.4.3稳定版本进行编写的,现在官方的稳定版本为1.5.3,故本示例切换到当前的稳定版本进行编写.
微信截图_20170527102151.png

本示例代码在my-springboot-1的基础上进行编写

  1. 引入pom的依赖
    微信截图_20170527103219.png

  2. 增加kafka的简单配置
    微信截图_20170527103315.png

  3. 编写发送消息代码
    微信截图_20170527103801.png

  4. 编写接收消息代码

微信截图_20170527103818.png

  1. 在controller调用
    微信截图_20170527112514.png

  2. 启动项目,在浏览器输入 http://127.0.0.1:666/kafka/send?topic=test&msg=%E4%B8%96%E7%95%8C%E4%BD%A0%E5%A5%BD
    微信截图_20170527112655.png

  3. 进行消息的多终端接收
    将项目 my-springboot-13 拷贝一份 为 my-springboot-13-2
    修改配置

    (注意修改 spring.kafka.consumer.group-id=myGroup2 这个以后再讲解)

微信截图_20170527112840.png
再启动项目 my-springboot-13-2

重复第6步,查看控制台两个项目都收到了消息
微信截图_20170527113042.png
微信截图_20170527113059.png


项目源代码见 my-springboot-13 和 my-springboot-13-2

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多