kafka代码学习

Kafka从入门到精通 一. MQ基础知识 1. 常见的MQ Kafka, ActiveMQ, RabbitMQ, RocketMQ 在大数据场景下,主要使用Kafka,在javaee中主要采用ActiveMQ, RabbitMQ, RocketMQ 2. MQ作用 (1)削峰 (2)解耦 (3)异步 3. 消息队列的模式 (1)点对点模式 (2)发布订阅模式 二. Kafka基础架构 1. 在同一个消费者组中(每条消息只能被该组中的一个消费者消费),每个分区只能由一个固定消费者进行处理,否则后续很.. 阅读详情

1.启动kafka。

//启动zookeeper server (用&是为了能退出命令行):

bin/zookeeper-server-start.sh config/zookeeper.properties  &


//启动kafka server:  

bin/kafka-server-start.sh config/server.properties  &



2.新建一个生产者例子

import java.util.Properties;
import kafka.javaapi.producer.Producer;
import kafka.producer.KeyedMessage;
import kafka.producer.ProducerConfig;

public class KafkaTest {
    public static void main(String[] args) {  
        Properties props = new Properties();  
        props.put("zk.connect", "10.103.22.47:2181");  
        props.put("serializer.class", "kafka.serializer.StringEncoder");  
        props.put("metadata.broker.list", "10.103.22.47:9092");
        props.put("request.required.acks", "1");
        //props.put("partitioner.class", "com.xq.SimplePartitioner");
        ProducerConfig config = new ProducerConfig(props);  
        Producer<String, String> producer = new Producer<String, String>(config);  
        String ip = "192.168.2.3";
        String msg ="this is a messageuuu!";
        KeyedMessage<String, String> data = new KeyedMessage<String, String>("test", ip,msg);  
        producer.send(data);
        producer.close();  
    }  
}


3.新建一个消费者例子
 

import java.nio.ByteBuffer;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

import kafka.consumer.Consumer;
import kafka.consumer.ConsumerConfig;
import kafka.consumer.KafkaStream;
import kafka.javaapi.consumer.ConsumerConnector;
import kafka.message.Message;
import kafka.message.MessageAndMetadata;

public class ConsumerSample {

    public static void main(String[] args) {  
        // specify some consumer properties  
        Properties props = new Properties();  
        props.put("zookeeper.connect", "10.103.22.47:2181");  
        props.put("zookeeper.connectiontimeout.ms", "1000000");  
        props.put("group.id", "test_group");  

            // Create the connection to the cluster  
        ConsumerConfig consumerConfig = new ConsumerConfig(props);  
        ConsumerConnector connector = Consumer.createJavaConsumerConnector(consumerConfig);  


        Map<String,Integer> topics = new HashMap<String,Integer>();  
        topics.put("test", 2);  
        Map<String, List<KafkaStream<byte[], byte[]>>> topicMessageStreams = connector.createMessageStreams(topics);  
        List<KafkaStream<byte[], byte[]>> streams = topicMessageStreams.get("test");
        ExecutorService threadPool = Executors.newFixedThreadPool(2);  
        for (final KafkaStream<byte[], byte[]> stream : streams) {  
            threadPool.submit(new Runnable() {  
                public void run() {  
                    for (MessageAndMetadata msgAndMetadata : stream) {  
                        // process message (msgAndMetadata.message())  
                        System.out.println("topic: " + msgAndMetadata.topic());  
                        Message message = (Message) msgAndMetadata.message();  
                        ByteBuffer buffer = message.payload();  
                        byte[] bytes = new byte[message.payloadSize()];  
                        buffer.get(bytes);  
                        String tmp = new String(bytes);  
                        System.out.println("message content: " + tmp);  
                    }  
                }  
            });  
        }   
    }
}

 

kafka学习总结(含java生产者、消费者、Topic操作代码) kafka(http://kafka.apache.org)是一款分布式消息发布和订阅的系统,具有高性能和高吞吐率。笔者主要是将在自己的应用当中所用到资料整合在一起,并且加上自己的理解从而写下了这篇文章,文章主要包括了Kafka的简单介绍、Kafka的部署、Kafka的java代码应用。如果写的不好的地方还请指正。 阅读详情

相关推荐

kafka基础代码实现

kafka实现的基本代码,包括客户端是服务端。代码运行的时候请务必保证运行环境已经搭好。

kafka 代码使用

kafka 代码使用

qq_33753147的博客 2119

VisDrone2019数据集实战:从下载到YOLO格式转换的完整指南

本文提供了一份完整的VisDrone2019数据集实战指南,详细介绍了从数据集下载、理解其独特的标注格式,到转换为YOLO模型可直接训练格式的全过程。通过清晰的代码示例和步骤讲解,帮助读者掌握处理复杂无人机视觉数据集的核心技能,为基于YOLO的目标检测模型训练做好准备。

weixin_29165725的博客 385

Kafka基础入门-代码实操

Kafka命令行+代码实操

f_yuqing的博客 649

STC51单片机串口多字节数据接收的优化策略

本文深入探讨了STC51单片机串口多字节数据接收的优化策略。针对数据丢包、粘包等常见痛点,核心思路是采用“缓冲队列+定时器超时”模式,将实时处理转变为“先收纳,后处理”。文章详细讲解了硬件初始化、中断服务程序优化(快速入队与激活超时裁判)以及主循环的非阻塞设计,并进阶介绍了环形缓冲区实现与错误处理,旨在构建稳定可靠的串口通信系统。

weixin_29264201的博客 375

特征提取神操作,登上Nature!计算速度狂提300%!

登上Nature!作者提出CVOCA,一种能同时处理数据的幅度和相位信息的卷积模型,在性能远超SOTA的同时,计算速度更是狂飙300%!实际上,作为机器学习和深度学习的核心技术,特征提取一直都是研究的热门!它直接影响着模型的准确性、计算效率、可解释性……同时,它也是我们改模型涨点,最好操作的部分!因为可切入点的真的非常之丰富,不管是轻量化、多尺度、时域与频域结合等,都能使模型性能得到提升!

2401_82426425的博客 4038

【代码入门】kafka基础(4):hello kafka:模拟kafka的生产、消费以及拓展

实际工作中,有时需要将生产者和消费者的功能集成到已有的系统中,此时需要写代码实现生产者和消费者的逻辑。

hiliang521的博客 902

SEED-VIG数据集实战:5步搞定驾驶员疲劳检测模型(附Python代码)

本文提供了一份基于SEED-VIG数据集的驾驶员疲劳检测模型实战指南。通过五个核心步骤——数据准备、特征提取、模型训练、优化评估及部署思路,详细讲解了如何利用脑电信号构建分类器,并附有完整的Python代码,帮助开发者快速上手这一智能座舱关键技术。

w1x2y3的博客 263

初学kafka streams2.1.0原理及代码实现(wordcount)

前面学习了kafka的基础知识,给大家推荐《kafka权威指南》这本书,这次学习kafka streams,参考书籍:《kafka从入门到实践》,电子书分享给大家。但是书中给出的有些示例是比较老的版本,有些类的用法已经更新了,我使用的是最新版的2.1.0,在此推荐大家参考官方文档:http://kafka.apache.org/documentation/streams/ 《kafka权威指南》...

QYHuiiQ 1282

Windows如何使用Anaconda 3进行keras环境的配置

** Windows如何使用Anaconda 3进行keras环境的配置 搭建Keras环境* Anaconda3如何安装keras,主要包括下面三步: 1.安装mingw libpython 2.安装theano 3.安装keras 若你还没有按装anaconda,赶紧下载安装吧! 下载途径有两个 (1)Anaconda版本为Anaconda 4.4.0,对应的python版本为3.6,附上An...

Lance_liangliang的博客 1602

取证实战:当嫌疑人电脑已关机,如何利用EFDD从休眠文件提取BitLocker密钥?

本文详细介绍了如何利用Elcomsoft Forensic Disk Decryptor(EFDD)从休眠文件(hiberfil.sys)中提取BitLocker密钥的实战技术。通过分析休眠文件中的内存快照,取证人员可以突破已关机加密设备的防线,获取关键解密信息。文章涵盖了工具配置、镜像获取、密钥提取及验证等完整流程,并提供了疑难问题解决方案和法律合规建议。

weixin_29315091的博客 346

kafka基础学习(六):kafka 代码示例

kafka 代码示例 生成者API在不同版本间无较大变动;消费者(Consumer)提供了两套API 低版本(8.0版本及其以前)API 高版本(8.0版本后)API 两种API的优缺点: 高版本Consumer API 优点: 高级API写起来简单,易用。 不需要自行去管理offset,API已经封装好了offset这块的东西,会通过zookeeper自行管理 不需要管理分区,副本等情况,系统自动管理 消费者断线后会自动根据上次记录在zookeeper中的offset接着消费消息。 高版本Cons

F道人 2356

新手自己动手设置3D-slicer中文版(超详细图文)

3DSlicer是一个开源的免费软件,用于医学图像分析(包括配准和交互式分割)和可视化(包括3D渲染)以及用于图像引导治疗研究的软件平台。复制qm文件,粘贴于3D-slicer文件相关文件夹内,\bin\translations\。打开3dslicer,edit菜单下Application Settings,支持的操作系统:Linux,Mac OSX和Windows。本人英语太差,所以第一反应就是中文版,官网无中文版下载,下载后不能直接使用,必须要发布成qm文件;qm文件已经生成,位于ts文件同一文件夹。

linjianping513的博客 9867

Kafka学习记录及简单上手代码

kafka 为什么需要消息队列? 解耦:允许独立的拓展或修该双方逻辑交互过程程序,只要保证保证双方的遵守同样的接口约束 冗余:保证数据多个副本不至于数据丢失以及数据重复 拓展性:可添加相应的额外处理过程 灵活性&峰值处理能力:突发流量访问激增,仍然能够保证程序稳定运行 可恢复性:消息队列降低了进程间的耦合性,一个消息队列处理进程挂掉,加入队列的消息任然可以在系统恢复后被处理 顺序保证:到部...

Arnold的博客 654

三维重建(十八)——colmap的使用(粗浅)

三维重建(十八)——colmap的使用(粗浅)

河海大学研究生在读的学习笔记 1378

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

RabbitMq消费数据后推往kafka代码学习

(python版) # coding: utf-8 import pika import os import json from kafka import KafkaProducer from kafka.errors import KafkaError os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8' class GetRabbi...

qq_32273965的博客 571

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Spring Kafka 入门学习之一 Java 代码运行kafka

参考:https://docs.spring.io/spring-kafka/reference/html/_introduction.html#compatibilityspring-kafka 版本:2.1.5 瞎jb翻译, 见笑了。安装运行Apache Kafka 参考:https://www.cnblogs.com/hei12138/p/7805475.html  下载依赖&lt;depe...

a853929779的博客 522

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

kafka学习笔记(4)——代码

这次学习了Java代码如何对生产者和消费者进行简单的测试

欢迎来到我的博客 580

Kafka学习之源代码环境搭建(eclipse)

主要参考:https://cwiki.apache.org/confluence/display/KAFKA/Developer+Setup#DeveloperSetup-Eclipsesetup   下面是我自己的步骤:   1,安装Eclipse,略过,我的版本是:  2,安装scale插件,注意要跟你的eclipse版本对应,访问http://scala-ide.org/downl

xcc的博客 4304

Kafka开源代码阅读学习之旅(一)Kafka的简介与架构

Kafka开源代码阅读学习之旅(一)Kafka的简介与架构一、Kafka简介1.Kafka诞生的背景2.Kafka的主要设计目标3.为什么要使用消息系统二、Kafka的架构1.Kafka的基本组成 一、Kafka简介 1.Kafka诞生的背景 Apache Kafka是由Apache软件基金会开发的一个开源消息系统项目,由Scala写成。Kafka最初是由LinkedIn开发(LinkedIn (领英) 创建于2002 年,致力于向全球职场人士提供沟通平台,并协助他们事半功倍,发挥所长。作为全球最大的职业

Plus.L的博客 412

Kafka开源代码阅读学习之旅(二)- Kafka安装与启动

1.环境需求 本人使用环境,仅供参考 Vmware Workstation 16pro Ubuntu18.04镜像 Docker 2.Kafka安装 Vmware workstation以及Ubuntu的安装不多赘述 需要提醒的一点是建议装上VMware tools,方便虚拟机与主机之间复制粘贴等等(很实用)。 有关VMware tools 的安装网上也有详细的教程,在此不多赘述。 2.1 Docker安装 首先安装curl sudo apt install curl 安装命令,具体安装步骤见菜鸟教程

Plus.L的博客 205

kafka源代码学习-socketserver篇

kafka源代码学习相关,欢迎交流

keme183的博客 596

kafka学习(7)生产者和消费者代码

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34162228的博客 4849

kafka学习--Producer API--代码演示

文章目录消息发送流程自定义Producer使用回调函数的Producer自定义分区Partition使用自定义分区的Producer 消息发送流程 Kafka 的 Producer 发送消息采用的是异步发送的方式。在消息发送的过程中,涉及到了 两个线程——main 线程和 Sender 线程,以及一个线程共享变量——RecordAccumulator。 main 线程将消息发送给 RecordAccumulator,Sender 线程不断从 RecordAccumulator 中拉取 消息发送到 Kafka

wgyzzzz的博客 208
上一篇: kafka基础知识(二)
下一篇: kafka分片
Computer_hello
博客等级 码龄10年 2粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值