摘要: 一、简介 红黑树(Red Black Tree) 是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构。 红黑树的特性: (1)每个节点或者是黑色,或者是红色。(2)根节点是黑色。(3)每个为空的叶子节点(NIL或NULL)是黑色。(4)如果一个节点是红色的,则它的子节点必须是黑色的。(5)从 阅读全文
posted @ 2018-06-06 18:55 强迫疒 阅读(486) 评论(0) 推荐(0) 编辑
摘要: 异常处理 捕捉异常可以使用try/except语句。 try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理。 以下是语法: try的工作原理是,当开始一个try语句后,python就在当前程序的上下文中作标记,这样当异常出现时就可以回到这里,try子句先执行 阅读全文
posted @ 2018-05-29 19:46 强迫疒 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 一、基本思路 异步发送的基本思路就是:send的时候,KafkaProducer把消息放到本地的消息队列RecordAccumulator,然后一个后台线程Sender不断循环,把消息发给Kafka集群。 要实现这个,还得有一个前提条件:就是KafkaProducer/Sender都需要获取集群的配 阅读全文
posted @ 2018-05-22 19:31 强迫疒 阅读(1136) 评论(0) 推荐(0) 编辑
摘要: CyclicBarrier是一个用于线程同步的辅助类,它允许一组线程等待彼此,直到所有线程都到达集合点,然后执行某个设定的任务。 举个例子:几个人约定了某个地方集中,然后一起出发去旅行。每个参与的人就是一个线程,CyclicBarrier就是那个集合点,所有人到了之后,就一起出发。 CyclicBa 阅读全文
posted @ 2018-03-22 00:09 强迫疒 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 一、相关概念 备份相关的角色 Kafka消息备份分三个角色:分别是Leader副本、Follower副本、ISR集合 Leader副本 负责直接响应client端的读写请求,即和生产者和消费者直接对接,生产者生产一条消息,直接进入Leader副本; Follower副本 作为特殊消费者,被动的接收l 阅读全文
posted @ 2018-03-22 00:09 强迫疒 阅读(725) 评论(0) 推荐(0) 编辑
摘要: 1 启动入口Kafka.scala Kafka的启动入口是Kafka.scala的main()函数: 上面代码主要包含: 从配置文件读取kafka服务器启动参数的getPropsFromArgs()方法; 创建KafkaServerStartable对象; KafkaServerStartable对 阅读全文
posted @ 2018-03-22 00:09 强迫疒 阅读(520) 评论(0) 推荐(0) 编辑
摘要: topic 在kafka中消息是按照topic进行分类的;每条发布到Kafka集群的消息都有一个类别,这个类别被称为topic parition 一个topic可以配置几个parition,每一个分区都是一个顺序的、不可变的消息队列, 并且可以持续的添加。分区中的消息都被分了一个序列号,称之为偏移量 阅读全文
posted @ 2018-02-28 21:47 强迫疒 阅读(1613) 评论(0) 推荐(1) 编辑
摘要: 1 什么是kafk Apache kafka是消息中间件的一种,在开始学习之前,先简单的解释一下什么是消息中间件。 举个例子,生产者消费者,生产者生产鸡蛋,消费者消费鸡蛋,生产者生产一个鸡蛋,消费者就消费一个鸡蛋,假设消费者消费鸡蛋的时候噎住了(系统宕机了),生产者还在生产鸡蛋,那新生产的鸡蛋就丢失 阅读全文
posted @ 2018-02-27 23:58 强迫疒 阅读(314) 评论(0) 推荐(1) 编辑
摘要: 这里以ReentrantLock为例: 1 线程A和B都要获取对象O的锁定,假设A获取了对象O锁,B将等待A释放对O的锁定,如果使用 synchronized ,如果A不释放,B将一直等下去,不能被中断 如果 使用ReentrantLock,如果A不释放,可以使B在等待了足够长的时间以后,中断等待, 阅读全文
posted @ 2018-02-07 20:35 强迫疒 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 在java.util.concurrent包中提供了一个线程安全版本的Map类型数据结构:ConcurrentMap。本篇文章主要关注ConcurrentMap接口以及它的Hash版本的实现ConcurrentHashMap。 一、ConcurrentMap 与Map接口相比,ConcurrentM 阅读全文
posted @ 2018-02-01 02:09 强迫疒 阅读(326) 评论(0) 推荐(0) 编辑