Kafka

Kafka部署环境:

         本地开发电脑(window7)

         开启一个zookeeper服务(localhost:2181)

         开启两个kafka服务(localhost:9092、localhost:9093)

         创建一个Topic(smallcat-topic)两个分区两个复制集

         创建一个生产者

         创建一个消费者

 

 

一、观察其运行流程

1、  kafka服务的开启与关闭,都会与zookeeper交互。zookeeper会监控其的连接状态


2、  kafka服务之间会互相交互。当一个kafka服务断掉之后,如下

kafka.server.ReplicaFetcherThread会连接失败。kafka集群还可以正常运行。当失败的服务重新连接成功后,分区与复制还会恢复执行。将丢失的数据从别的服务器中恢复回来。


3、  一般情况下,每个kafka服务会负责一个leader分区和其他服务的follow分区。来保证kafka的负载均衡:

当一个kafka服务down掉后,它负责的leader分区会分配到其他的活跃服务中:

以保证集群可以正常运行。

等这个kafka服务恢复后,集群又恢复其原来的状态。


4、  kafka的消息保存在配置的目录中,以文件的形式保存。

每个topic的消息按照一定的负载规则分配到不同的分区中去。各个分区的消息按顺序记录到日志文件中。读取时也按照顺序来读取。

因此,kafka的消息在单个分区中是有顺序的。但对整个topic来说,其消息不一定有序。

若要做到对整个topic有序,则只能设置一个分区。


5、  kafka服务会每隔10分钟删除过期的消息(可配置,一般保留三天,无论消息是否被消费,都会保存)
        

 

总结:

1、  kafka健壮性比较高。

        zookeeper集群监控kafka服务(zookeeper集群本身健壮性比较高)

        kafka服务具有容错特性,只要一个kafka节点存在即可正常运行

    消息保存在文件中,不会因为服务器down掉而丢失消息内容

2、  kafka性能比较高

    参考:http://blog.csdn.net/hmsiwtv/article/details/46960053

         需要压力测试来验证

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值