同步的通信方式会存在性能和稳定性的问题。
异步的通信方式,可以让上游快速成功,极大提高了系统的吞吐量。而且在分布式系统中,通过下游多个服务的分布式事务,也能保障业务执行后的最终一致性。
消息队列解决具体的是什么问题——通信问题。
目前消息队列的中间件选型有很多种:
那这些消息队列中间件有什么区别?
Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的、多副本的、基于zookeeper协调的分布式消息系统。
它的最大特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延时的实时系统、storm/spark流式处理引擎、web/nginx日志、访问日志、消息服务等。
用scala语言编写,Linkedin于2010年贡献给了Apache基金会,并成为顶级开源项目。
1. Kafka的使用场景
日志收集
消息系统
用户活动跟踪
运营指标
2. Kafka的安装(linux)
部署一台zookeeper服务器
安装jdk
下载Kafka安装包:https://archive.apache.org/dist/kafka/2.4.1/kafka_2.11-2.4.1.tgz
上传到Kafka服务器上:/home/xxx/kafka
解压缩安装包
进入到config目录,修改server.properties文件中以下内容:
# broker.id属性在kafka集群中必须是唯一的
broker.id=0
#kafka部署的机器ip和提供服务的端口号
listeners=PLAINTEXT:192.168.0.1:9092
#kafka的消息存储文件
log.dir=/usr/local/data/kafka-logs
#kafka连接zookeeper的地址
zookeeper.connect=192.168.0.2:2181
1
2
3
4
5
6
7
8
进入到bin目录中,执行以下命令,启动Kafka服务器(带配置文件)
./kafka-server-start.sh -daemon ../config/server.properties
1
校验Kafka是否启动成功:
进入到zk内查看是否有Kafka的节点:/brokers/ids/0
————————————————
版权声明:本文为CSDN博主「kyrielx」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_28742063/article/details/126886615