zoukankan      html  css  js  c++  java
  • kafka学习

      现在kafka成了一个很热门的框架,有必要了解学习一下,现在做一些笔记。

    bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test
    bin/kafka-topics.sh --list --bootstrap-server localhost:9092
    

      它使用shell脚本命令,读取了这些命令,并创建了一个topic。但是这个调用方式还是有些繁琐,可以考虑使用java封装。从这个脚本可以推断,kafka服务的端口是9092.

      接下来使用kafka提供的java客户端程序库。

       使用官方推荐的kafka-clients,但是在练习时,发现不能创建topic,提示为no operation for CREATE_TOPIC。经过多方百度,发现问题所在,是由于我使用的kafka版本过低所致。kafka的名字附带了scala的版本,所以很容易搞混淆,看了一下博文,了解了kafa的重大版本更新。

    DEBUG org.apache.kafka.clients.consumer.internals.Fetcher - [Consumer clientId=consumer-1, groupId=0]
    Added READ_UNCOMMITTED fetch request for partition topicDemo-0 at position FetchPosition{offset=5, offsetEpoch=Optional[0],
    currentLeader=LeaderAndEpoch{leader=localhost:9092 (id: 0 rack: null), epoch=0}} to node localhost:9092 (id: 0 rack: null)
    // fetch日志,可以看到consumer采用的pull模式,且有offset

      kafka单机版启动较为简单,但是集群呢?我们都知道网络时代,游戏都是联网的好玩些,kafka当然也有联网呢,这个和Zookeeper又异曲同工之妙。 

    参考博文:

    java-clents操作kafka:https://hanchao.blog.csdn.net/article/details/100043271

    kafka工作原理:https://hanchao.blog.csdn.net/article/details/100037633

  • 相关阅读:
    java语言基础001
    Linux 使用硬盘
    Linux 系统运行命令 > 查看系统信息
    Linux rm 命令
    Linux 操作系统目录结构
    JavaScript || 事件基础
    My SQL随记 003 数据表基础操作语法
    My SQL随记 002 登陆
    My SQL随记 001 常用名词/结构化语言
    linux命令学习
  • 原文地址:https://www.cnblogs.com/Robin008/p/12904913.html
Copyright © 2011-2022 走看看