kafka依赖_kafka的简单学习
概述
Kafka是一种分布式的,基于发布/订阅的消息系统。特点如下:
1、以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间复杂度的访问性能。
2、高吞吐量,即使在非常廉价的商用机器上也能做到单机每秒100k条以上消息的传输。
3、支持Kafka Server间的消息分区及分布式消费,同时保证每个Partition内的消息顺序传输。
4、同时支持离线数据处理和实时数据处理。
5、Scale out,支持在线水平拓展。
消息队列的优点:1、解耦 2、冗余 3、拓展性 4、灵活性和峰值处理能力 5、可恢复性 6、顺序保证(kafka保证一个partition内的数据是有序的) 7、缓冲 8、异步通信
基本术语
Producer:消息生产者,向kafka broker发消息客户端
Consumer:消息消费者,向kafka broker取(拉)消息的客户端
Consumer Group:每个消费者都属于一个组
Topic:消息分类主题,可理解为一个队列,一个topic里有多个partition
Partition:为实现拓展性,一个大的topic可以分布在多个broker上,一个topic可以分为多个partition,每个partition是一个有序队列。
Broker:一台kafka服务器就是一个broker,一个集群由多个broker组成
学习过程
环境:VM虚拟机,CentOS,JDK,Kafka
1、在VM虚拟机中使用Centos系统安装kafka,kafka的安装需要JDk的环境,注意新版kafka不支持jkd7,安装jdk8即可。
2、配置server.properties,这里做单机版学习,不做集群部署,注意配置对外开放host及port,不然无法访问,即打开配置文件中listeners及advertised.listeners。
3、kafka需要zookeeper环境,先启动bin/zookeeper-server-start.sh config/zookeeper.properties 再启动bin/kafka-server-start.sh config/server.properties。
4、服务端命令测试kafka,生产者启动bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test,消费者启动bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning。
5、web环境测试,新建Springboot项目,引入kafka依赖,配置基本yml,添加Producer,使用KafkaTemplate类send()发送消息,添加消费者Consumer类,使用@KafkaListener监听topic,通过ConsumerRecord进行接收。
kafka依赖_kafka的简单学习相关推荐
- kafka原理_kafka入门(原理搭建简单使用)
前言 公司在用kafka接受和发送数据,自己学习过Rabbitmq,不懂kafka挺不爽的,说干就干!网上找了许多帖子,学习了很多,小小的demo自己也搭建起来了,美滋滋,下面我认为优秀的网站和自己的 ...
- 【Python学习随笔】依赖倒置原则 + 简单工厂模式
记录一下Python学习中的点滴,分享一段代码. [问题背景]在不同的系统平台需要执行一段有差异的指令,该如何写出更优雅的代码? [知识点]依赖倒置原则 + 简单工厂模式 [代码分享] #!/usr/ ...
- kafka环境安装及简单使用(单机版)
一个分布式发布-订阅消息传递系统 特点: 高吞吐量.低延迟 使用场景(举例): 日志收集:用kafka收集各种服务产生的log,通过kafka以统一的接口服务的方式开放给各种consumer,如had ...
- kafka使用_Kafka介绍与使用
最近在研究kafka,觉得需要输出点东西才能更好的吸收,遂总结与大家分享,话不多说. 一.先上思维导图: 二.再上kafka整体架构图: 2.1.Producer:消息生产者,就是向kafka bro ...
- Retrofit框架简单学习使用(举例:酷狗搜索和歌曲详情接口)
2019.09.24 说明:获取歌曲详情接口已失效,大家可根据自己实际url来测试. 首先先看效果图: 然后上Retrofit的注解表:(图片转自简书:https://www.jianshu.com/ ...
- BootStrap简单学习
前言 本文是关于BootStrap的简单学习,适合后端开发者查阅. 目录 一.什么是BootStrap? 二.如何使用BootStrap? 2.1.下载BootStrap: 2.2.使用BootStr ...
- Linux安装软件时缺少依赖包的简单较完美解决方法!
Linux安装软件时缺少依赖包的简单较完美解决方法! 参考文章: (1)Linux安装软件时缺少依赖包的简单较完美解决方法! (2)https://www.cnblogs.com/xiaommvik/ ...
- SQL Server中的锁的简单学习
原文:SQL Server中的锁的简单学习 简介 在SQL Server中,每一个查询都会找到最短路径实现自己的目标.如果数据库只接受一个连接一次只执行一个查询.那么查询当然是要多快好省的完成工作.但 ...
- [Python学习]PycURL简单学习 - limodou的学习记录 - limodou是一个程序员,他关心的焦点是Python, DocBook, Open Source …...
[Python学习]PycURL简单学习 - limodou的学习记录 - limodou是一个程序员,他关心的焦点是Python, DocBook, Open Source - [Python学习] ...
最新文章
- 对于150kHz导航信号放大接收模块测试实验
- Linux入门第四集!Jar包的入门、使用、部署!怎么打Jar包?
- leetcode算法题--K 次串联后最大子数组之和★
- python的openpyxl库如何读取特定列_Excelize 2.3.2 发布,Go 语言 Excel 文档基础库,2021 年首个更新...
- Matplotlib实例教程(四)水平条形图
- Redis源码剖析(一)服务器与客户端交互流程
- 0709-To Lower Case(转换成小写字母)
- 快速部署Enterprise Manager Cloud Control 12c(12.1) Agent
- Caffe将图像数据转换成leveldb/lmdb
- webUI自动化二-获取元素信息相关方法
- 清北学堂dp图论营游记day4
- C++容器,迭代器,容器的适配器
- 使用PowerDesinger 正向工程
- 5.网络层(3)---路由选择协议
- java实验报告的原理_JAVA实验报告
- 使用微软原生工具,反编译DLL并修改后再生成DLL
- Android屏幕尺寸详解
- 数字图像处理与Python实现-边缘检测-Prewitt算子边缘检测
- java模拟内存溢出并分析_本地模拟内存溢出并分析Dump文件
- AgNCs-NIPAM-AAc温度响应性银纳米簇荧光探针
热门文章
- 利用python将excel数据导入mySQL
- 大数据技术周报第 007 期
- .NET设计模式(2): 工厂方法模式
- ListView(3)
- oracle sysaux表空间不足,sysaux 表空间不足问题处理
- bootstrapt学习指南_TensorFlow 2.0深度强化学习指南
- springboot发送邮件_SpringBoot发送邮件如何实现,SpringBoot发送邮件详解(附代码)...
- leetcode —— 17. 电话号码的字母组合
- leetcode—— 401. 二进制手表(使用到将数字转换为字符)
- 深度学习的实用层面 —— 1.1 训练/开发/测试集