linux查看kafka队列消息,Kafka消息队列 | 您所在的位置:网站首页 › 查看kafka队列 › linux查看kafka队列消息,Kafka消息队列 |
运行环境 操作系统:Windows 10 ; Linux发行版:CentOS Linux release 7.6.1810 (Core) JDK版本:1.8.0_221 说在前面 kafka作为开源的消息队列软件,版本迭代很快,就跟那个ElasticSearch一样。版本迭代一快,版本向下的兼容性就做的不好。这是一个比较令人头疼的问题。 我们自己的项目本身不可能随着这些开源软件,随时去升级版本。所以只能要去解决这种版本兼容的问题了。 所以,我打算从不同的版本来切入,梳理出不同的解决方案来。 我这里要说的就两个版本:一个是老版本 kafka_2.11-0.10.1.1 ,一个是当前的最新稳定版 kafka_2.13-2.6.1。 一、Kafka新版本:kafka_2.13-2.6.1 kafka版本是大前提,在这个大前提下,我们的运行环境如下: spring boot 版本:2.0.9.RELEASE spring-kafka版本: 2.1.12.RELEASE(该版本是由spring boot管理的) kafka-clients版本:1.0.2(该版本是由spring boot管理的) 我上面写的这些当然都是我自己测试通过的。按道理来说,spring相关技术 应该使用与kafka版本匹配的版本。 我这里先贴一个官方的版本图表: image.png 很显然,我的spring版本和kafka集群版本不匹配: spring版本要跟随升级吗?不可能的,项目开发了这么多年了,怎么可能因为接入一个消息队列,就去升级呢。 kafka版本降级吗?也不可能了,为了适配,spring boot需要降级,但是即使降级了,官方也把这个低版本淘汰掉了。 kafka-clients和spring-kafka版本降级吗?也是不行的,因为当前版本spring boot加入了自动装配kafka,导致了spring boot为了兼容,也要降级。回到了上面的问题。 综合上面的分析,只能选择我上面的版本组合了。 好确定完版本之后,我们从后端往前端来说: 1. kafka理论知识 Kafka就是一种发布-订阅模式的消息队列。 在发布-订阅消息系统中,消息被持久化到一个topic中。与点对点消息系统不同的是,消费者可以订阅一个或多个topic,消费者可以消费该topic中所有的数据,同一条数据可以被多个消费者消费,数据被消费后不会立马删除。在发布-订阅消息系统中,消息的生产者称为发布者,消费者称为订阅者。该模式的示例图如下: image.png 2. kafka安装配置 > tar -xzf kafka_2.13-2.6.1.tgz > cd kafka_2.13-2.7.0 配置conf/server.properties 这里只说最少配置,为了保证基本的使用。 ############################# Socket Server Settings ############################# # The address the socket server listens on. It will get the value returned from # java.net.InetAddress.getCanonicalHostName() if not configured. # FORMAT: # listeners = listener_name://host_name:port # EXAMPLE: # listeners = PLAINTEXT://your.host.name:9092 # 监听配置,为了外部机器远程访问 listeners=PLAINTEXT://:9092 # Hostname and port the broker will advertise to producers and consumers. If not set, # it uses the value for "listeners" if configured. Otherwise, it will use the value # returned from java.net.InetAddress.get |
CopyRight 2018-2019 实验室设备网 版权所有 |