首页 > 其他分享 >golang之操作kafka

golang之操作kafka

时间:2023-08-08 20:36:08浏览次数:35  
标签:Producer err sarama fmt kafka golang msg 操作 config

 

安装第三方包:

go get github.com/IBM/sarama

 

生产者实例:

package main

import (
   "fmt"
   "github.com/IBM/sarama"
)

func main() {

   //1.生产者配置
   config := sarama.NewConfig()
   config.Producer.RequiredAcks = sarama.WaitForAll          //ACK,发送完数据需要leader和follow都确认
   config.Producer.Partitioner = sarama.NewRandomPartitioner //分区,新选出一个分区
   config.Producer.Return.Successes = true                   //确认,成功交付的消息将在success channel返回

   //2.连接Kafka

   client, err := sarama.NewSyncProducer([]string{"127.0.0.1:9092"}, config)
   if err != nil {
      fmt.Println("Producer error", err)
      return
   }

   defer client.Close()

   //3.封装消息

   msg := &sarama.ProducerMessage{}
   msg.Topic = "log"
   msg.Value = sarama.StringEncoder("this is test log")

   //4.发送消息
   pid, offset, err := client.SendMessage(msg)

   if err != nil {
      fmt.Println("send faild", err)
   }
   fmt.Printf("pid:%v offset:%v\n", pid, offset)
}

 

消费者:

 

标签:Producer,err,sarama,fmt,kafka,golang,msg,操作,config
From: https://www.cnblogs.com/xingxia/p/golang_kafka.html

相关文章

  • RTMP流媒体服务器LntonMedia(免费版)视频流媒体平台成功清理录像计划的具体操作步骤
    LntonMedia是支持接入RTMP推流摄像头的视频流媒体平台,新版LntonMedia互联网直播点播平台支持创建录像计划,用户可以设定周一至周日中,某天某个时间段内开启录像,其他时间不录像。LntonMedia包含一个根据录像计划清理录像的功能,是我们在添加录像计划后同步添加的功能,功能实现代码大家可......
  • Python中文件操作的详细使用:open()、os.open()和with open()
    前言在编程语言中,文件读写是最常见的IO操作,Python内置了读写文件的函数,其中包括open()函数、os.open()函数以及withopen()语句。本文将详细介绍这三种方法的使用方式、区别和最佳实践。open()open()函数是Python内置的用于打开文件的函数,它接受一个文件路径和打开模式作为参数,并返......
  • 最新版 redis-py 操作 redis(同步、异步、集群、连接池)
    现在的Python异步操作redis,有三种(aredis、aioredis、asynio_redis)但是都不推荐背景从redis.py4.2.0rc1+开始,Aioredis已经集成到redis-py中,并且Aioredis将不再更新维护,导入方式:fromredisimportasyncioasaioredis,本次验证的是redis==4.6.0#!/usr/bin/e......
  • Django 的数据库操作
    Djangp提供了一套抽象的API,能够对数据库进行CRUD(create,retrieve,update,deleteobjects)1、使用shell操作安装ipython交互环境pipinstall-ihttps://pypi.douban.com/simpleipythonpyhtonmanage.pyshell-iipython查看所有项目:Projects.objects.......
  • RTSP/Onvif视频服务器LntonNVR(源码版)视频平台获取录像接口返回精确的录像文件的具体操
    LntonNVR视频平台可实现RTSP/Onvif协议接入设备、实时直播、录像、检索与回放、存储、视频分发等视频能力。在录像功能上,LntonNVR支持7*24小时不间断录像,也可以设定录像计划,对指定时间进行录像,并且支持录像的检索与回放、支持本地录像回放。有用户需要获取LntonNVR平台录像视频指定......
  • Redis常用命令_字符串操作命令
          ......
  • 监控Kafka的关键指标
    Kafka架构上面绿色部分PRODUCER(生产者)和下面紫色部分CONSUMER(消费者)是业务程序,通常由研发人员埋点解决监控问题,如果是Java客户端也会暴露JMX指标。组件运维监控层面着重关注蓝色部分的BROKER(Kafka节点)和红色部分的ZOOKEEPER。ZooKeeper也是Java语言写的,监控相对简单,另......
  • Kafka数据对接
    1、数据流向:被动接收数据特点:及时性高,数据延迟小,Kafka的数据发送和接收都是毫秒级的。 2、接入参数  kafka:   security.protocol:SSL   ssl.endpoint.identification.algorithm:   ssl:    protocol:SSL    key-store-type:JKS ......
  • prometheus的sdk client_golang 使用 定时器
    之前线上监控的agent都是直接  time.Sleep(time.Duration(collectInterval)*time.Second),多少有些许的low,每次开始采集数据的时间都是从程序开始执行就开始采集,很显然这种偷懒的方式是不合理的。1、简单复制粘贴一下funcAbNormalLoglistener(collectIntervalint){......
  • php简单MYSQL操作类
    <?php/*简单MYSQL操作类include'./mysqlDb.php';$mysql=null;try{$mysql=newdb('localhost','root','root','test');//SELECT$mysql->select('SELECT*FROMabc');//UPDATE$mys......