摘要: 客户端源码总结 1. 把核心流程封装在一个方法里面,代码流程是比较清晰的 2. 自定义异常,异常的提示很清晰. 3. 底层代码异常往上抛,核心逻辑捕获异常,对异常进行处理. 4. 面向对象的思想还是不错的. 5. 自己设计高性能的多线程结构(线程安全,读多写少) 6. 高并发的情况下,为了性能(线程 阅读全文
posted @ 2020-12-19 16:16 宁君 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 大数据职业发展方向 参考原文 https://mp.weixin.qq.com/s/O8ubCasBL6lwaTd4I7g0xg 说明: 以下的我,不是我,是原作者。 我从业的两段经历 大数据的方向有很多的,即使没有真正经历过,平时也会耳濡目染,在各大杂志公众号新闻上听说过,什么大数据人工智能,大数 阅读全文
posted @ 2020-12-19 15:53 宁君 阅读(421) 评论(0) 推荐(0) 编辑
摘要: Flink Checkpoint 参数详解 什么是 checkpoint 保存状态 Checkpoint 参数详解 StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); // 每 阅读全文
posted @ 2020-12-19 15:35 宁君 阅读(5802) 评论(0) 推荐(1) 编辑
摘要: 1.BIO、NIO和AIO的区别? BIO 一个线程只做一件事,效率慢. NIO 一个线程做多个事,效率块.(原理见 java_NIO) AIO Netty概念 NIO框架,它提供了对TCP、UDP和文件传输的支持 Netty特点 1)设计 统一的API,适用于不同的协议(阻塞和非阻塞) 基于灵活、 阅读全文
posted @ 2020-12-19 15:13 宁君 阅读(129) 评论(0) 推荐(0) 编辑
摘要: NIO概念 NIO与原来的IO有同样的作用和目的,但是使用 的方式完全不同,NIO支持面向缓冲区的、基于 通道的IO操作。NIO将以更加高效的方式进行文 件的读写操作。 精髓 NIO 可以让服务器端使用一个或有限几个线程来同 时处理连接到服务器端的所有客户端 NIO是一个全栈工程师 IO 与 NIO 阅读全文
posted @ 2020-12-19 15:01 宁君 阅读(95) 评论(0) 推荐(0) 编辑
摘要: kafka发送消息原理图 producer发送消息核心流程图 阅读全文
posted @ 2020-12-19 11:38 宁君 阅读(327) 评论(0) 推荐(0) 编辑
摘要: Kafka高性能的原理 高性能,高并发,高可用 使用了NIO技术。高并发。 顺序读写。硬盘的顺序读写性能要高于内存的随机读写。 跳表设计。 稀疏索引。index文件里面有部分offset的位置。 使用零拷贝。从内存,直接拷贝到网卡。 producer: 按批次发消息,而不是条数。 producer: 阅读全文
posted @ 2020-12-19 11:30 宁君 阅读(202) 评论(0) 推荐(0) 编辑
摘要: Hbase表设计 1. RowKey设计 Rowkey设计三原则 一、rowkey长度原则 越短越好,不要超过16个字节。 二、rowkey散列原则 三、rowkey唯一原则 2.列簇设计 最好一个列簇,命名一个字符足以。 3. 建表高级属性 1、BLOOMFILTER(布隆过滤器) 使用方法: c 阅读全文
posted @ 2020-12-19 10:35 宁君 阅读(187) 评论(0) 推荐(0) 编辑
摘要: Hbase的读写过程 Hbase的读过程 1、客户端通过ZooKeeper以及-ROOT-表和.META.表找到目标数据所在的RegionServer(就是数据所在的 Region的主机地址) 2、联系RegionServer查询目标数据 3、RegionServer定位到目标数据所在的Region 阅读全文
posted @ 2020-12-19 10:34 宁君 阅读(221) 评论(0) 推荐(0) 编辑
摘要: Hbase各组件职责 Client职责 1、HBase有两张特殊表: .META.:记录了用户所有表拆分出来的的Region映射信息,.META.可以有多个Regoin -ROOT-:记录了.META.表的Region信息,-ROOT-只有一个Region,无论如何不会分裂 2、Client访问用户 阅读全文
posted @ 2020-12-19 10:33 宁君 阅读(368) 评论(0) 推荐(0) 编辑
摘要: 什么是java的深浅拷贝? 浅拷贝 就是很肤浅的拷贝,只拷贝了别人的地址。没有拷贝地址里面的值。地址里面的值改变后,就都改变了。 深拷贝 就是很深入的拷贝,深入到核心的拷贝,拷贝了别人地址里面的值,别人的值改变后,我不受影响。 阅读全文
posted @ 2020-12-19 10:02 宁君 阅读(80) 评论(0) 推荐(0) 编辑
摘要: flink问题1 报错: More buffers requested available than totally available 查看源码: /** * This method makes sure that at least a certain number of memory segme 阅读全文
posted @ 2020-12-19 09:53 宁君 阅读(180) 评论(0) 推荐(0) 编辑