kafka的基本应用

消息中间件的背景分析

场景分析

进程级别的异步处理

阻塞队列+线程池


image.png
应用程序级别的异步处理

通过第三方的消息中间件

技术需求

基本需求

消息的接受和发送,涉及到网络(BIO,NIO)
消息的存储(持久化,非持久化存储)
消息的序列化和反序列化
消息的确认机制,如何避免重发

高级需求

消息的有序性
是否支持事务消息
是否支持集群

kafka的介绍

什么是Kafka

Kafka是一款分布式消息发布和订阅系统,它的特点是高性能、高吞吐量。

应用场景

1 行为跟踪:kafka可以用于跟踪用户浏览页面、搜索及其他行为。
2 日志收集:将应用日志收集到Kafka

架构设计

image.png

名词解释

1 Broker(中间人):集群的每一台机器叫做Broker
2 Producer(生产者):将消息push到Broker
3 Consumer(消费者):将消息从Broker中pull
4 Topic(主题):消息的类别
5 Partition(分区):物理上的概念,一个Topic有一个或多个Partition
6 Consumer Group: 每个消费者都属于一个group(若不指定默认是group)
7 Topic & Partition: topic逻辑上是一个queue,为了性能的提升,物理上把一个topic分成一个或多个Partition,每一个Partition对应一个文件夹,该文件夹存储的是消息和索引文件。

安装部署

请参考官网文档:http://kafka.apache.org/quickstart

kafka的基本操作

具体请参考:http://kafka.apache.org/quickstart

两个问题

Cannot assign requested address

将 server.properties的配置修改如下

listeners=PLAINTEXT://内网:9092               
advertised.listeners=PLAINTEXT://外网ip:9092 

参考链接:https://blog.csdn.net/qq_17238449/article/details/106119230

Connection to node -1 could not be established. Broker may not be available

将bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning的localhost改为ip地址
参考链接:https://www.cnblogs.com/syscn/p/9975528.html

kafka的集群安装

整体类似于zookeeper的集群安装
具体请参考http://kafka.apache.org/quickstart

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容