0%

一、分区

在Kafka系统中,一个主题(Topic)下包含多个不同的分区(Partition),每个分区(Partition)相当于一个超大的文件被均匀分配成若干个大小相等的片段(Segment)

Kafka可以保证分区上的消息是有序的,不同分区之间的消息没有顺序。

分区可以设置副本因子,其中Leader分区负责对应分区的读写、Follower分区负责同步分区的数据。

二、ISR(In sync replicas)

Leader分区会维持一个与其保持同步的replica集合,该集合就是ISR。

当开启Ack机制时,Leader分区收到数据后,后面的Follower就开始同步数据了,但是如果有一个Follower出现了故障,无法与Leader来进行同步,这样Leader就会一直等待下去了,直到它同步完成才会把Ack发送出去。这种情况下会大大的让Kafka效率降低,所以ISR就出现了。

阅读全文 »

一、存储

  • 代理节点(Broker):Kafka集群组建的最小单位,消息中间件的代理节点;
  • 主题(Topic):用来区分不同的业务消息;
  • 分区(Partition):Topic物理意义上的分组,一个Topic可以分为多个Partition,每个Partition是一个有序的队列;
  • 片段(Segment):每个Partition又可以分为多个Segment文件;
  • 偏移量(Offset):每个Partition都由一系列有序的、不可修改的消息组成,这些消息被持续追加到Partition中,Partition中的每条消息记录都有一个连续的序号,用来标识这条消息的唯一性;
  • 消息(Message):Kafka系统中,文件存储的最小存储单位。

Kafka系统中的Message是以Topic为基本单位,不同的Topic之间是相互独立、互不干扰的。每个Topic又可以分为若干个Partition,每个Partition用来存储一部分的Message。

阅读全文 »

一、生产者

生产者即消息数据产生的来源头,通常情况下,将原始数据(如数据库、审计日志、系统日志)写入到Kafka系统的应用程序称之为生产者实例。

二、消费者

消费者即消息数据流出的出口,通常情况下,读取Kafka系统中业务数据的应用程序被称为消费者实例

阅读全文 »

一、Topic

1.1、创建

./kafka-topics.sh --bootstrap-server kafka01:9092,kafka02:9092,kafka03:9092 --create --topic topic01 --partitions 3 --replication-factor 3

1.2、查看

./kafka-topics.sh --bootstrap-server kafka01:9092,kafka02:9092,kafka03:9092 --list

阅读全文 »

Kafka Eagle(EFAK)是一款用于管理Kafka的监控系统,包含的功能有数据面板、数据大屏、主题列表、消费者组、集群详情、监控中心、告警策略、系统管理等功能

阅读全文 »

一、Servlet

1.1、规范

Servlet是JavaEE规范中的一种,主要是为了扩展Java作为Web服务的功能,统一定义了对应的接口,比如Servlet接口,HttpRequest接口,HttpResponse接口,Filter接口。然后由具体的服务厂商来实现这些接口功能,比如Tomcat,jetty等。

阅读全文 »

  • 实现了异步非阻塞的效果,任务执行完毕会主动通知,不需要调用方主动获取。

  • 使用结构存储后续任务

  • 无法保证后续任务执行顺序,任务是异步执行的,后续任务在放入之前,前置任务如果执行完则不需要放入中,直接执行;否则弹栈执行

  • 在异步情况下,如果不指定线程池,异步任会交给ForkJoinPool执行

  • ForkJoinPool内部是守护线程,守护线程在主线程结束后就不干活了

阅读全文 »