摘要: public class StringTest { public static void main(String[] args) { //判断是null还是空字符串 boolean b1 = Strings.isNullOrEmpty(null); //判断是null还是空字符串 boolean b 阅读全文
posted @ 2019-09-17 09:33 硝烟漫过十八岁 阅读(775) 评论(0) 推荐(0) 编辑
摘要: 一般我们在用到这种消息中件的时候,肯定会考虑要怎样才能保证数据不丢失,在面试中也会问到相关的问题。但凡遇到这种问题,是指3个方面的数据不丢失,即:producer consumer 端数据不丢失 broker端数据不丢失下面我们分别从这三个方面来学习,kafka是如何保证数据不丢失的 一.produ 阅读全文
posted @ 2019-09-10 18:04 硝烟漫过十八岁 阅读(14325) 评论(3) 推荐(3) 编辑
摘要: 在生产者向broker发送消息时,需要配置不同的参数来确保发送成功。 阅读全文
posted @ 2019-08-15 09:27 硝烟漫过十八岁 阅读(996) 评论(0) 推荐(0) 编辑
摘要: 消息在经过拦截器、序列化后,就需要确定它发往哪个分区,如果在ProducerRecord中指定了partition字段,那么就不再需要partitioner分区器进行分区了,如果没有指定,那么会根据key来将数据进行分区,如果partitioner和key都没有指定,那么就会采用默认的方式进行数据分 阅读全文
posted @ 2019-08-13 14:46 硝烟漫过十八岁 阅读(942) 评论(0) 推荐(0) 编辑
摘要: 生产者需要将要发送的数据转换成字节数组才能通过网络发送给kafka,对于一些简单的数据,kafka自带了一些序列化工具, 如:StringSerializer Double Long Integer Byte,它们都实现了 Serializer 接口,但是如果你要发送的数据是一个对象 Persion 阅读全文
posted @ 2019-08-13 14:37 硝烟漫过十八岁 阅读(635) 评论(0) 推荐(0) 编辑
摘要: producer在发送数据时,会经过拦截器和序列化,最后到达相应的分区。在经过拦截器时,我们可以对发送的数据做进步的处理。 要正确的使用拦截器需要以下步骤: 1.实现拦截器ProducerInterceptor的方法 2.在producer的prop中配置 prop.put("interceptor 阅读全文
posted @ 2019-08-13 13:51 硝烟漫过十八岁 阅读(433) 评论(0) 推荐(0) 编辑
摘要: fetch.min.bytes. #获取最小字节数据 Consumer 向broker中要数据时是按大小来返回的,如果数据没有达到指定的MB,consumer会处于等待状态,直到broker 从producer 哪里获取到指定大小的数据为止。获取取的最小数据大小是指的每个partition上的数据。 fetch.max.wait.ms 当consumer 一直在等待broker的数据达到... 阅读全文
posted @ 2019-08-05 23:33 硝烟漫过十八岁 阅读(810) 评论(0) 推荐(0) 编辑
摘要: 为什么要了解这些名词的解释呢?因为在学一个新的知识或者领域的时候,我们需要知道它所定义的概念和名词意思,因为只有这样我们才能理解和掌握这个新的知识点,才能更加系统的掌握这个技术。 一.名词解释 1.broker 2.topic (主题) 3. partition(分区) 4.partition re 阅读全文
posted @ 2019-08-05 22:38 硝烟漫过十八岁 阅读(432) 评论(0) 推荐(0) 编辑
摘要: 一.在页面上设置的超链接 1.先定义锚点 2.引用 阅读全文
posted @ 2019-08-05 14:44 硝烟漫过十八岁 阅读(250) 评论(0) 推荐(0) 编辑
摘要: Splitter可以对字符串进行分割,在分割时的方式有2种, 1.按字符/字符串分割 2.按正则进行分割 Splitter在分割完成时可以转换成list和map 一.按字符进行分割 //1.用指定字符切分字符串,并转换成list String s1 = "hello|hihi"; String s2 阅读全文
posted @ 2019-08-05 14:33 硝烟漫过十八岁 阅读(10327) 评论(0) 推荐(0) 编辑