Skip to main content

kafka 实现原理以及知识点小结

· 10 min read
Le Dai
Sr Soft Engineer

kafka 实现原理以及知识点小结

Kafka的特性:

  • 高吞吐量、低延迟:kafka每秒可以处理几十万条消息,它的延迟最低只有几毫秒,每个topic可以分多个partition, consumer group 对partition进行consume操作。
  • 可扩展性:kafka集群支持热扩展
  • 持久性、可靠性:消息被持久化到本地磁盘,并且支持数据备份防止数据丢失
  • 容错性:允许集群中节点失败(若副本数量为n,则允许n-1个节点失败)
  • 高并发:支持数千个客户端同时读写

Apache Druid

· 2 min read
Le Dai
Sr Soft Engineer

Apache Druid

刚听到这个名字 我第一反应 这不是ali 特牛的那个数据库连接池嘛 后来才发现不对劲 原来是另一大数据组件 目前就我初步的认识 暂时定位为单表高效率的OLAP 框架

下面是官方对于 Apache Druid 的介绍

kafka 0.10 版本探索 与spark streaming 2.x 整合

· 12 min read
Le Dai
Sr Soft Engineer

kafka 0.10 版本探索

首先,博主之前用的spark-streaming-kafka 1.6 scala 2.10的包,当时的kafka两种连接方式 高层封装

1.基于Receiver的方式

简单介绍一下,这种方式可能会因为底层的失败而丢失数据。如果要启用高可靠机制,让数据零丢失,就必须启用Spark Streaming的预写日志机制(Write Ahead Log,WAL)。 俗称WAL ,但是个人认为这是多余且不必要的操作 kafka以及做了很多的高可用,数据备份机制。那消费数据为何还需要开启WAL?

kafka环境搭建

· 2 min read
Le Dai
Sr Soft Engineer

kafka环境搭建

再深入了解kafka之前,已经翻阅了公司的kafka权威指南一书,但是毕竟书上的理论知识与真实环境还是有一些差距,这时候联想到之前一部电视剧哈,七国争霸 赵国的某位将领,这里就不深入diss了 大家都懂的。话不多说进入正题,

数据结构Map 总结

· 13 min read
Le Dai
Sr Soft Engineer

Map

这里只对常用Map集合进行分析

HashMap

hashmap 底层是entry的一个数组 每个数组内又是一个entry维护的单向链表(至于为何还需要一个单向链表后续解释) 每个entry 存储 k v hash值 因为插入的位置是 hash值与table长度取模 所以无序 为什么entry数组内还要维护一个单向链表呢? 哈希冲突

数据结构List 总结

· 5 min read
Le Dai
Sr Soft Engineer

List

这里只对常用list集合进行分析

ArrayList

标准的线性数组结构封装实现了Collection和List接口,可以灵活的设置数组的大小。要注意的是ArrayList并不是线程安全的,因此一般建议在单线程中使用ArrayList。