- Kafka介绍
Kafka是分布式的发布—订阅消息系统。它最初由LinkedIn(领英)公司发布,使用Scala和Java语言编写,与2010年12月份开源,成为Apache的*项目。Kafka是一个高吞吐量的、持久性的、分布式发布订阅消息系统。
三大特点:
高吞吐量 可以满足每秒百万级别消息的生产和消费——生产消费。
持久性 有一套完善的消息存储机制,确保数据的高效安全的持久化——中间存储。
分布式 基于分布式的扩展和容错机制;Kafka的数据都会复制到几台服务器上。当某一台故障失效时,生产者和消费者转而使用其它的机器——整体健壮性。
核心:
Broker:消息代理,一个Kafka节点就是一个broker,多个broker可以组成一个Kafka集群。
Topic:主题,Kafka处理的消息的不同分类。
Partition:Topic物理上的分组,一个topic可以分为多个partion,每个partion是一个有序的队列。partion中每条消息都会被分配一个有序的Id(offset)
Message:消息,是通信的基本单位,每个producer可以向一个topic(主题)发布一些消息,每个消息都属于一个partition
Producer:消息和数据的生产者,向Kafka的一个topic发布消息。
Consumer:消息和数据的消费者,定于topic并处理其发布的消息。
安装配置
kafka依赖zookeeper,在Kafka的设计中,选择了使用Zookeeper来进行所有Broker的管理,体现在zookeeper上会有一个专门用来进行Broker服务器列表记录的点,节点路径为/brokers/ids;此外生产者、消费者的负载均衡可使用zookeeper实现等等。因此需要安装zookeeper
下载地址:
zookeeper:链接:https://pan.baidu.com/s/1iXbLPFzeKTeRaab5CSrD9Q 提取码:ipv9
kafka:链接:https://pan.baidu.com/s/1BhT4XtMiU_J6PyNb7DtciQ 提取码:sbd5
安装:
zookeeper:
1.下载解压(以C:\zookeeper3.4为例),将C:\zookeeper3.4\conf下的zoo_sample.cfg文件更名为zoo.cfg
2.打开zoo.cfg,编辑dataDir=c:\\zookeeper3.4\\temp
3.配置环境变量,系统变量-新建ZOOKEEPER_HOME;并在系统变量path中增加“%ZOOKEEPER_HOME%\bin;”
4.打开cmd窗口,输入zkServer启动,默认端口2181;使用kafka期间保持zookeeper启动
kafka:
1.下载解压(以C:\kafka2.12为例),打开c:\kafka2.12\config\server.properties,编辑log.dirs=c:\\kafka2.12\\kafka-logs, zookeeper.connect=localhost:2181
2.把c:\kafka2.12\bin\window\kafka-run-class.bat 中179行%CLASSPATH%加上双引号
3.打开cmd窗口,进入kafka根目录下,输入 .\bin\windows\kafka-server-start.bat .\config\server.properties 运行
至此,kafka的安装配置完成;下篇文章将介绍springboot集成kafka,及其一些配置详解。
最后说一嘴,关于多个MQ的选型问题,适合项目的就是最好的,适不适合根据各个MQ的优劣势决定。