| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> 《kafka权威指南》学习记录1 -> 正文阅读 |
|
[大数据]《kafka权威指南》学习记录1 |
本博客只作为自己学习的一个记录。 一.kafka生产者 1.kafka生产者组件 main线程 send线程 producerrecord对象 序列化器 分区器。 Producerrecord对象格式:topic [key] [partition] value 2.生产者发送消息过程 3.kafka生产者应用程序开发步骤 创建生产者 Properties KafkaProducer 三个必须配置:kafka ip,key和value的序列化方式。 发送消息到kafka 发送并忘记 同步发送:feature对象的get方法 异步发送:send()方法里传入一个回调函数 其他的一些配置 能说出几个 顺序保证:retries设为0 max.in.flight.requests.per.connection topic分区数为1 4.序列化器 自定义序列化器 实现serializer接口,重写configure() serialize() close()方法,不建议自定义,kafka自带已够用。 arvo序列化方式 什么是arvo? 答:是一种与编程语言无关的序列化格式,提供一种共享文件的方式。 arvo的一个很重要的特性非常适合kafka? 答: arvo的原理? 答:它的原理在于描述序列化对象的schema格式:{“namespace”:"***","type":"***","name","类名",["fields":{"name":"字段名","type":"字段类型"}]},这样的结构就算修改数据的schema,不用修改所有负责读取数据的应用程序,不会出现异常或阻断性错误。 schema注册表解决的问题? 答: arvo序列化和反序列化流程? 答:通过序列化将数据序列化为字节数组,数据中包括schema的ID信息,同时将schema注册到注册表(一个组件),读取反序列化时通过schema id从注册表获取schema. arvo在kafka中的具体使用? 答: 5.分区 分区策略:默认三种 注:其中一种根据key的散列值,进行取余时是根据所有的分区,而不是所有的可用分区。这就存在一个问题,如果分区不可用,就会发生错误。 自定义分区策略 能想出一种应用场景? 答: 具体实现方法? 答:实现partitioner接口,重写三个方法config() partition() close() 自定义分区器实现好了怎么使用? 答: 6.拦截器 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 13:43:38- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |