【生产者篇】 KafkaProducer初探

producer包结构

internals下面放的就是kafka内部使用的,下面的这些类就是跟api有关的。
【生产者篇】 KafkaProducer初探_第1张图片

从上到下:
BufferExhaustedException:buffer耗尽时候抛出的异常,关于kafka中异常处理和异常体系后面会单独分析。
Callback:回调函数接口
KafkaProducer :Produce实现类
MockProducer:Produce实现类,mock数据用
Partitioner:分区器接口
Producer:生产者抽象
ProducerConfig:生产者配置类 ,所有配置的 配置项 和 配置项说明
ProducerInterceptor:生产者拦截器接口
RecordMetadata:消息元数据
RecordMetadata:ack消息元数据

produer接口方法:
/**
 *初始化一个事务
 */
void initTransactions();
/**
 * 开启一个事务
 */
void beginTransaction() throws ProducerFencedException;
/**
  给指定消费者组发送位移进行事务标记,标记成功的事务位移
 *
 */
void sendOffsetsToTransaction(Map<TopicPartition, OffsetAndMetadata> offsets,
                              String consumerGroupId) throws ProducerFencedException;
/**
 *提交事务
 */
void commitTransaction() throws ProducerFencedException;

/**
 * 终止事务
 */
void abortTransaction() throws ProducerFencedException;

/**
 *发送消息
 */
Future<RecordMetadata> send(ProducerRecord<K, V> record);

/**
 *发送消息,带回掉函数
 */
Future<RecordMetadata> send(ProducerRecord<K, V> record, Callback callback);

/**
 * 刷新进行发送完成。
 */
void flush();

/**
 获取给定主题的分区元数据
 */
List<PartitionInfo> partitionsFor(String topic);

/**
 * 获取一组MetricName对象
 */
Map<MetricName对象, ? extends Metric> metrics();
KafkaProducer方法总览:

【生产者篇】 KafkaProducer初探_第2张图片

你可能感兴趣的:(Kafka,kafka2.0,源码分析)