消息中间件之kafka

9 篇文章 0 订阅
6 篇文章 0 订阅

kafka生产者:自动提交,手动提交(同步提交/异步提交)

https://blog.csdn.net/qq_18581221/article/details/89409703

https://www.orchome.com/451

消息队列

消息队列(这里是消息队列概念,kafka只是消息队列的一种):

            

  1. 点对点模式(一对一,消费者主动拉取数据,消息收到后消息消除)

  优点:是消费者可以自己拉取信息,可以防止一个客户端A发送消息速度比消费消息客户端B快而导致消费消息客户端奔溃。

  缺点:是消费消息客户端B无法知道队列中是不是有数据,所以需要实时监视队列

  1. 发布/订阅(一对多,数据生产后,推送给所有订阅者)

  优点:队列知道有数据主动给消息消费者

缺点:队列无法处理它自己的发送速度是否是消息消费者可以接受的

 

 

 

Kafka消息队列(kafka只支持点对点模式

在java企业级编程中kafka有什么用?

 功能模块之间通信, 三四个模块的话用socket也行.

但是企业级程序动辄几十个功能模块,一秒几万条消息需要传递.

再考虑低耦合,可拓展性,可维护性,用kafka来作为message bus传信息就不可避免.

其实有其他很多的AMQP产品选择. rabbitMQ, ActiveMQ等等.

kafka作为一个年轻的产品,现在还远不及RabbitMQ那么流行.

kafka还是太年轻了,社区活跃度和文档都不及其他AMQP产品那么多那么好.   

 

 

win10系统安装kafka,zookeeper

https://blog.csdn.net/csgarten/article/details/80463453

Kafka启动命令: .\bin\windows\kafka-server-start.bat .\config\server.properties

安装时出现的错误:

解决方法:

Kafka简单使用操作:

https://blog.51cto.com/12181171/2324399

上面启动的两个不要关闭,再继续进行下面的操作:

3、topic:创建主题
命令为: .\bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test_topic ,如下所示:

查看已经存在的主题,命令为: .\bin\windows\kafka-topics.bat --list --zookeeper localhost:2181, 如下:

3、producer:生产者
创建生产者的命令:.\bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic test_topic,如下:

4、consumer:消费者
创建消费者的命令: .\bin\windows\kafka-console-consumer.bat --zookeeper localhost:2181 --topic test_topic
但是我在用这个命令时出现了下面的情况:

这是因为使用的kafka版本比较新,上面的这种方式已经过时被删除了,所以没法启动。
这是可以换用另一种: .\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:2181 --topic test_topic --from-beginning ,启动如下:

乱码问题可以在具体生产者消费者代码中进行处理。

以上只是一些入门级的基础操作,进阶的搭建集群,集成其他的技术这些,还有待学习!

个人理解:kafka就像是一个过渡管道,用来中转消息的(消息代理),可能像一个微信公众号,生产者就是公众号的管理者,把文章放到公众号里面,而消费者就像是订阅这个公众号的人,只要订阅了这个公众号,在有新消息推送到公众号时,公众号会把新文章推给订阅者。
kafka的好处就在于:
(1)可靠性 - Kafka是分布式,它有分区,复制和容错的。
(2)可扩展性 - Kafka消息传递系统轻松缩放,无需停机。
(3)耐用性 - Kafka使用分布式提交日志,这意味着消息会尽可能快地保留在磁盘上,因此它是持久的。
(4)性能 - Kafka对于发布和订阅消息都具有高吞吐量。 即使存储了许多TB的消息,它也保持稳定的性能。

   启动kafka

bin\windows\kafka-server-start.bat config\server.properties

 

Kafka&java实例:

高级api

https://blog.csdn.net/m0_38075425/article/details/81357833

低级api

 

Kafka集群:

linux下配置kafka集群

 

一.G:\haierknowledge\kafka\kafka_2.12-2.1.1\config下的server.properties进行修改

  1. broker.id(集群涉及的几台服务器id要不一致且唯一)
  2. Delete.topic.enable=true  //true是自己可以删除自己创建的topic
  3. log.dirs=G:\haierknowledge\kafka\logs  //改成自己lig的路径
  4. Zookeeper.connect=hadoop102:2181,hadoop103,hadoop104:2181

Windows下配置kafka集群:

https://www.cnblogs.com/lentoo/p/7785004.html

kafka拦截器:

kafka相关概念解释:

https://zhuanlan.zhihu.com/p/62541561

ssmkafka

https://www.jianshu.com/p/47e79f3fe392

kafka生产者生产消息的几种方式:
https://blog.csdn.net/liuzhengwangyang/article/details/84313816


spring+kafka+springmvc:
https://blog.csdn.net/wu18296184782/article/details/80164190


kafka消息消费者的几种方式和场景:
https://msd.misuland.com/pd/3070888491219950818

ssm框架配置kafka生产者和消费者:

https://blog.csdn.net/baidu_41634343/article/details/94741610

spring+kafka消费者的2种配置方式

https://blog.csdn.net/weixin_34152820/article/details/92080162

第三方Kafka Web管理界面:Kafka-Manager

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值