Kafka实时数据订阅

优质
小牛编辑
137浏览
2023-12-01

诸葛io设计为开放的架构,让用户可以订阅实时数据来满足更多使用场景。服务端接到一条 SDK 发来的数据后,会对数据做一些预处理并将数据写入到消息队列。

Kafka 供下游各类计算模块使用。本文将介绍订阅 Kafka 数据的方法。

一、配置要求

订阅数据需要满足以下要求:

  • 启动订阅的机器需与部署诸葛io的机器在同一个内网;

  • Kafka 版本请使用 0.8.2.x;

  • 目前仅支持私有部署版通过 Kafka 订阅数据;

二、订阅参数

私有部署单机版:

参数名称参数值
topicpay_statisv2
partition2
zookeeperhostname:2181
brokerhostname:9092

私有部署集群版:

参数名称参数值
topicpay_statisv2
partition8
zookeeperhostname1:2181,hostname2:2181,hostname3:2181
brokerhostname1:9092,hostname2:9092,hostname3:9092

三、订阅数据

订阅有多种方式,可以选择一种适合使用场景的方式。

1. 使用 Kafka Console Consumer

使用 Kafka 自带的 Kafka Console Consumer 通过命令行方式订阅,例如从最新数据开始订阅:

bin/kafka-console-consumer.sh --zookeeper 172.31.13.31:2181 --topic pay_statisv2

可以将 stdout 输出到文件或作为其他数据处理进程的输入数据。

2. 使用 Simple Consumer Shell

使用 Simple Consumer Shell 可以实现更灵活的订阅,可参考 Kafka 相关文档:Simple Consumer Shell,例 如:

bin/kafka-run-class.sh kafka.tools.SimpleConsumerShell --broker-list 172.31.13.31:9092 --offset 123 --partition 2  --topic pay_statisv2 --print-offsets

四、数据格式

1. 移动端数据格式

{
  "owner": "zg",
  "st": 1493895485371,         //会话开始时间(unixtime,毫秒)
  "debug": 0,                  //是否开启了实时调试,0为关闭,1为开启
  "data": [                    //数据部分
    {
      "dt": "evt",             //数据类型,evt代表事件,ss代表会话开始,se代表会话结束,usr代表用户信息,pl代表设备信息,abp代表全埋点事件
      "pr": {                  //"$"开头代表诸葛默认采集的属性,"_"开头代表是用户上传的自定义属性            
        "$os": "iOS",          //系统
        "$tz": 28800000,       //时区
        "$net": "4",           //网络类型(见下面参考值)
        "$ov": "10.2.1",       //系统版本
        "$eid": "background",  //事件名称
        "$cn": "App Store",    //下载渠道
        "$cr": "46002",        //运营商(见下面参考值)
        "$ct": 1493895485370,  //事件触发时间(unixtime,毫秒)
        "$sid": 1493895485370, //会话开始时间(unixtime,毫秒)
        "$mnet": "None",       //移动网络类型
        "$vn": "2.7.3",        //应用版本
        "_自定义属性名": "自定义属性值"
      }
    }
  ],
  "tz": 28800000,                //时区
  "ip": "113.222.112.181",       //ip地址,诸葛根据ip解析省份城市等信息
  "sdkv": "2.0.0",               //诸葛sdk版本
  "ak": "1234567890987654321",   //应用appkey
  "ua": "CFNetwork/808.3 Darwin/16.3.0",  //user-agent
  "sln": "itn",                  //行业方案,itn互联网
  "usr": {
    "did": "D9A586EF-7999-4ED5-808E-321111ddeds"  //设备id
  },
  "sdk": "zg-ios",              //诸葛sdk类型
  "pl": "ios",                   // 平台信息: js、android为and、iOS为ios
  "ut": "2017-05-04 18:58:05"   //上传时间
}

2. 参考值列表

2.1 运营商
参考值运营商名称
46000中国移动
46001中国联通
46002中国移动
46003中国电信
46005中国电信
46006中国联通
46007中国移动
46011中国电信
46020中国铁通
2.2 网络类型
参考值网络类型名称
0移动网络
4WIFI

3. web端数据格式

{
  "owner": "zg",
  "st": 1493895485371,         //会话开始时间(unixtime,毫秒)
  "debug": 0,                  //是否开启了实时调试,0为关闭,1为开启
  "data": [                    //数据部分
    {
      "dt": "evt",             //数据类型,evt代表事件,ss代表会话开始,se代表会话结束,usr代表用户信息,pl代表设备信息,abp代表全埋点事件
      "pr": {                  //"$"开头代表诸葛默认采集的属性,"_"开头代表是用户上传的自定义属性            
        "$tz": 28800000,                      //时区
        "$eid": "background",                 //事件名称
        "$ct": 1493895485370,                 //事件触发时间(unixtime,毫秒)
        "$sid": 1493895485370,                //会话开始时间(unixtime,毫秒)
        "$browser_brand": "Chrome",           // 浏览器品牌
        "$browser_version": 54,               // 浏览器版本
        "$url": "https://zhugeio.com",        // 当前url
        "$ref": "https://zhugeio.com",        // 来源网址 
        "$utm_source": "",                    //utm参数                    
        "$utm_medium": "",                    
        "$utm_campaign": "",                  
        "$utm_content": "",                   
        "$utm_term": "",                      
        "$referrerDomain":""
        "_自定义属性名": "自定义属性值"
      }
    }
  ],
  "tz": 28800000,                    //时区
  "ip": "113.222.112.181",           //ip地址,诸葛根据ip解析省份城市等信息
  "sdkv": "2.0",                     //诸葛sdk版本
  "ak": "1234567890987654321",       //应用appkey
  "ua": "CFNetwork/808.3 Darwin/16.3.0",  //user-agent
  "sln": "itn",                      //行业方案,itn互联网
  "usr": {
    "did": "D9A586EF-7999-4ED5-808E-321111ddeds"  //设备id
  },
  "sdk": "zg-js",                    //诸葛sdk类型
   "pl": "js",                       // 平台信息: js、android为and、iOS为ios
  "ut": "2017-05-04 18:58:05"        //上传时间
}