消息队列

kafka 入门

2019-03-05  本文已影响30人  黄靠谱

https://www.jianshu.com/p/eba0067b1e1a

特性:

集群

一个kafka集群支持多个Broker,但是Broker之间并没有主从的概念,这个架构上和rocketmq区别很大,有点反传统模式。
每个Topic下有N个partition,每个partition可以有N个副本(N不能超过Broker的个数),每个Partition有一个leader,leader完成所有的读写请求,其它副本只是冷备的作用

基于这个模式,主从的概念不是在物理节点上,而是基于逻辑的partition了,一个topic有N个partition,每个partition都会选举一个leader,物理节点在不同partition支持并发的写。实现了类似的多节点一起写的效果。

kafka的存储机制

https://www.cnblogs.com/jun1019/p/6256514.html

image

kafka的消费负载均衡

是由zk来维护,Consumer和partition的信息,几个Consumer瓜分一个topic下的partition,和rocketmq一样的。

kafka的顺序消息

通过把一个topic下的 partition设置为1个,且只有1个消费者的情况,是可以实现顺序消息的,否则是无法保证的。
RocketMQ有指定queue的功能,指定且消费的时候加锁,但是kafka不具备。
but kafka也支持根据hash(key)来指定partition(默认轮询),

kafka的角色

http://kafka.apache.org/documentation/#design
注册中心 :zookeeper ; 消费者、生产者、broker(支持多broker)

上一篇 下一篇

猜你喜欢

热点阅读