大数据-kafka

kafka 支持 集群 、负载均衡、动态扩容。

但是不支持事务(事务最早是出现在数据库中表示一个或多个操作要么一起成功要么一起失败,在分布式消息队列中就是发送多条消息,要么全部成功,要么全部失败。)

kafka的动态扩容是用zoorkeeper完成的。

 

AMQP协议:Advanced Message Queuing Protocol 。

消费者(Consumer): 从消息队列中请求消息用于消费的客户端应用程序。

生产者(Producer): 想broker(中间,代理)发布消息的客户端应用程序。

AMQP服务器端(broker):用于接收生产者发送的消息并将这些消息路由给服务器中的队列。

 

因为kafka支持java。 所以我们可以用java 编写生产者和消费者。

 

架构 : producer 集群向 broker发送消息,然后由consumer集群消费消息。 

162512_iQfL_3138201.png

 

主题(topic): 一般这个我们按项目中的业务来分为一个主题,比如我们在交易系统中,关于交易的信息我们可以放入在一个trade的topic中。

分区(Partition): 一个topic中的消息按照多个分区组织,分区是kafka消息队列组织的最小单位,一个分区可以看作是一个FIFO的队列。(kafka分区是用于提高kafka性能的关键,当发现kafka的性能不高时,增加kafka的topic 分区是一种提高性能的手段。)

171736_oFUB_3138201.png

 

172213_1rlz_3138201.png

如上图所示:

备份(replication) :3个broker中存储了不同分区的数据进行备份,每个分区的数据都会备份在两个broker上避免宕机(备份在多少个broker上面是由我们自己配置的。),从而保证了分布式的可靠性。

zookeeper:一个提供分布式状态管理、分布式配置管理、分布式锁服务等的集群。

 

转载于:https://my.oschina.net/u/3138201/blog/1538147

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值