kafka应用场景_kafka架构以及应用场景

什么是kafka

    Apache Kafka是一个分布式发布,订阅消息系统,并且也是一个强大的队列,可以处理高并的数据,并使您能够将消息从一个端点传递到另一个端点。Kafka非常适合处理离线和在线消息消费。 Kafka消息可以持久化的保留在磁盘上,并在群集内复制以防止数据丢失。 Kafka构建在ZooKeeper同步服务之上,用Raft协议保证集群的高可用, 它与Apache Storm和Spark非常好地集成,用于实时流式数据分析。

09a3b5b59a881657aef35d51ecf085bd.png f02a32436fb13f5ebdaafa389cc2cb5e.pngkafka应用场景 09351c86ea0e6e2b5ec360301bc8b63c.png1.日常系统解耦消息队列将消息生产者和订阅者分离,实现应用解耦2.流量削峰在应用前端以消息队列接收请求,当请求超过队列长度,直接不处理重定向至一个静态页面,来达到削峰的目的,此场景一般用于秒杀活动,因为秒杀活动高度集中用户访问,导致流量暴增,处理不好,会导致应用雪崩。3.流失处理

现在非常流行的框架(如Storm,Spark Streaming)从topic中读取数据,实时对其进行处理,并将处理后的数据写入新topic中,供用户和应用程序使用。

4.mysql数据库数据同步

后端应用可以将数据先写入kafka,让后让kafka异步写入mysql数据库,这样非常可以抗高峰,便于扩展。日志解析组件可以直接解析binlog日志,然后解析后的数据写入kafka,后端的服务(例如ElasticSearch,hadoop,hbase等)可以自由订阅需要的数据。

下面来看看kafka的架构图

2893b44e9beaee1faacec01b16da6c90.png

aace8df40ff75a5710d97a3b0722fe21.png

在此图中,可以看到kafka主要由4部分组成,生产者(producer),zookeeper,代理(broker),消费者(consumer)。下面非常介绍4个组件的功能和作用

1. 生产者

负责发布消息到Kafka Broker。

2. zookper

kafka与Zookeeper级联,通过Zookeeper管理级联配置,选举Leader,并管理和协调生产者和消费者去使用broker。

3. Broker

Kafka集群包含一个或多个服务实例,这些服务实例被称为Broker。是Kafka当中具体处理数据的单元。Kafka支持Broker的水平扩展。一般Broker数据越多,集群的吞吐力就越强。

4. 消费者

从Kafka Broker读取消息的客户端

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值