广东建设报网站,创新的企业网站建设,天津港建设公司官网,漫画网站开发源码1. Kafka简介 Apache Kafka 是LinkedIn公司开发的一款开源的高吞吐、分布式的消息队列系统#xff0c;它具有高伸缩性、高可靠性和低延迟等特点#xff0c;因此在大型数据处理场景中备受青睐。Kafka 可以处理多种类型的数据#xff0c;如事件、日志、指标等#xff0c;广泛… 1. Kafka简介 Apache Kafka 是LinkedIn公司开发的一款开源的高吞吐、分布式的消息队列系统它具有高伸缩性、高可靠性和低延迟等特点因此在大型数据处理场景中备受青睐。Kafka 可以处理多种类型的数据如事件、日志、指标等广泛应用于实时数据流处理、日志收集、监控和分析等领域。 2. 设计架构 Producer 消息生产者就是向 kafka broker 发消息的客户端。 Consumer 消息消费者向 kafka broker 取消息的客户端。 Topic 一个Topic是消息的分类或主题它是Kafka中进行消息发布和订阅的基本单位。Producer生产者将消息发布到一个或多个Topic而Consumer消费者订阅一个或多个Topic并消费其中的消息。 Consumer Group这是 kafka 用来实现一个 topic 消息的广播发给所有的 consumer和单播发给任意一个 consumer的手段。一个 topic 可以有多个 Consumer Group。 Broker一台 kafka 服务器就是一个 broker。一个集群由多个 broker 组成。一个 broker 可以容纳多个 topic。 Partition为了实现扩展性一个非常大的 topic 可以分布到多个 broker上每个 partition 是一个有序的队列。partition 中的每条消息都会被分配一个有序的idoffset。将消息发给 consumerkafka 只保证按一个 partition 中的消息的顺序不保证一个 topic 的整体多个 partition 间的顺序。 Offsetkafka 的存储文件都是按照 offset.kafka 来命名用 offset 做名字的好处是方便查找。例如你想找位于 2049 的位置只要找到 2048.kafka 的文件即可。当然 the first offset 就是 00000000000.kafka。 3. Kafka特点 高吞吐量、低延迟kafka每秒可以处理几十万条消息它的延迟最低只有几毫秒每个topic可以分多个partition, consumer group 对partition进行consume操作。 可扩展性kafka集群支持热扩展 持久性、可靠性消息被持久化到本地磁盘并且支持数据备份防止数据丢失 容错性允许集群中节点失败若副本数量为n,则允许n-1个节点失败 高并发支持数千个客户端同时读写 4. 使用场景 日志收集可以用Kafka可以收集各种服务的log通过kafka以统一接口服务的方式开放给各种consumer例如hadoop、HBase、Solr等。 消息系统解耦和生产者和消费者、缓存消息等。 用户活动跟踪Kafka经常被用来记录web用户或者app用户的各种活动如浏览网页、搜索、点击等活动这些活动信息被各个服务器发布到kafka的topic中然后订阅者通过订阅这些topic来做实时的监控分析或者装载到hadoop、数据仓库中做离线分析和挖掘。 运营指标Kafka也经常用来记录运营监控数据。包括收集各种分布式应用的数据生产各种操作的集中反馈比如报警和报告。 流式处理比如spark streaming和 Flink。 系统解耦在重要操作完成后发送消息由别的服务系统来完成其他操作 流量削峰一般用于秒杀或抢购活动中来缓冲网站短时间内高流量带来的压力 异步处理通过异步处理机制可以把一个消息放入队列中但不立即处理它在需要的时候再进行处理 5. 安装、配置和启动Kafka 要安装、配置和启动Kafka请按照以下步骤进行操作 下载Kafka从Apache Kafka官网下载最新版本的Kafka并解压到本地目录。 配置Kafka编辑Kafka的配置文件config/server.properties根据需求修改以下配置项 advertised.listenersKafka Broker的地址和端口配置。 zookeeper.connectZooKeeper的地址和端口配置。 启动ZooKeeper打开一个终端窗口启动ZooKeeper服务器bin/zookeeper-server-start.sh config/zookeeper.properties。 启动Kafka Broker在另一个终端窗口中启动Kafka Broker服务器bin/kafka-server-start.sh config/server.properties。 顶尖架构师栈 关注回复关键字 【C01】超10G后端学习面试资源 【IDEA】最新IDEA激活工具和码及教程 【JetBrains软件名】 最新软件激活工具和码及教程 工具码教程 本文由 mdnice 多平台发布