新公司名称核准在哪个网站,wordpress转微信小程序,叮当app制作官网,建设一个视频教学网站Kafka是一款基于发布和订阅的消息系统。一般被称为分布式提交日志或分布式流平台。 Kafka系统是按照一定的顺序持久化保存的#xff0c;可以按需读取。 Kafka的数据单元被称为消息。类似于数据库中表的一行记录#xff0c;消息由字节组成#xff0c;所以没有特别的格式和含义…Kafka是一款基于发布和订阅的消息系统。一般被称为分布式提交日志或分布式流平台。 Kafka系统是按照一定的顺序持久化保存的可以按需读取。 Kafka的数据单元被称为消息。类似于数据库中表的一行记录消息由字节组成所以没有特别的格式和含义。 消息有一个可选的元数据就是键键也是一个字节数组。当消息以一种可控的方式写入分区时会用到键最简单的方式就是为键生成一个散列值然后使用散列值对主题的分区属进行取模。这样可以保证具有相同键的消息总是会写到相同的分区。 批次时一组消息这些消息属于同一个主题和分区将消息分批次传输可以减少网络开销。 消息模式有很多选项比如json,xml,但Kafka的开发者喜欢使用Apache Avro。 Kafka的消息通过主题进行分类主题就好比数据库中的表。或者文件系统中的文件夹。 主题还可以分成若干个分区消息以追加方式写入分区按照先入先出的顺序被消费因此无法在整个主题范围内保持顺序但可以保证在单个分区内的顺序。 Kafka通过分区实现数据冗余和伸缩性分区可分布在不同的服务器上以此来提供比单个服务器更强大的性能。 通常使用流来描述Kafka的数据流是一组从生产者到消费者的数据。Kafka以实时的方式处理数据这叫流失处理通常与批量处理Hadoop做区别。 Kafka的客户端就是Kafka的用户他们被分为两种生产者和消费者。除此之外还有其他高级客户端API——用于数据集成的Kafka Connect API和用于流失处理的Kafka streams.这些高级客户端API使用生产者和消费者作为内部组件提供了更高级的功能。 生产者创建消息一般一个消息会被发布到一个特定的主题上生产者默认会把消息均衡地分布到主题的所有分区这通常是由消息键和分区器来实现。 消费者读取消息消费者订阅一个或多个主题并按照消息生成的顺序消费它们。消费者通过检查消息的偏移量来区分已经读过的消息。偏移量是另一种元数据它是一个不断递增的整数值。在创建消息时Kafka会把它添加到消息里在给定分区里每个消息的偏移量都是唯一的。 消费者把每个分区最后读取的偏移量保存到zookeeper或Kafka上如果消费者关闭或者重启它的读取状态不好丢失。 消费者是消费者群组的一部分一般会有多个消费者共同读取一个主题群组保证每个分区只被一个消费者使用。 一个独立的Kafka服务器称为一个brokerbroker接收来自生产者的消息为消息设置偏移量并提交消息到磁盘保存。broker为消费者提供服务对读取分区的请求作出响应返回提交到磁盘上的消息。 broker是集群的组成部分每个集群都会有一个broker充当集群控制器角色自动选举控制器负责管理工作。在集群中一个分区从属于一个broker该broker被称为分区的首领一个分区可以复制到多个broker这种复制机制为分区提供了消息冗余。 保留消息时Kafka的一个重要特性默认的保留策略时这样的要么保留一段时间要么保留一定的字节数。在任一时刻达到其中一个标准消息就会被删除。 Kafka可以无缝支持多个生产者也可以支持多个消费者。 Kafka有五个使用场景 1.跟踪用户的活动。 2.传递消息。 3.度量指标和日志记录。 4.提交日志。 5.流处理。转载于:https://www.cnblogs.com/wangbin2188/p/10350597.html