脚本宝典收集整理的这篇文章主要介绍了

Kafka的一些特点

脚本宝典小编觉得挺不错的,现在分享给大家,也给大家做个参考,希望能帮助你少写一行代码,多一份安全和惬意。

  1. 有pub/sub功能,同步和异步都支持,producer.type项设置

  2. 单条消息的上限用max.message.size项设置

  3. 消息可能有丢失,在consumer宕机后消息可能有重复投递

  4. 同一个partition内保证消息顺序,多个partition不保证

  5. 支持异步发送消息,可配置producer使得在一定时间后发送消息,或是消息累积到一定量后再发送

  6. 支持Scala、Java、C++、C#、Go、PHP、Python、Ruby,PHP需要5.3.3版本以上

  7. PHP版本的client功能还不够丰富

  8. 支持持久化,消息存储在磁盘上,复杂度为O(1)

  9. 没有消费反馈,哪些消息已消费由consumer维护(通过记录一个offset值),consumer也可以回滚到以前的位置,重新读取之前读取过的消息

  10. 异步方式可支持消息的延时投递,queue.time项设置

  11. 单个队列能够承受的消息容量的极限由queue.size项设置

  12. 没有固定的协议

  13. 消息的状态由客户端维护,服务端不参与,服务端会在消息保存一定时间(默认为7天)后将其删除

  14. 每个consumer进程属于一个consumer group,一个message只被发给同一个consumer group中的一个consumer进程,因此可以支持queue和topic两种语义

  15. producer发送消息后,broker不会发送ACK给producer

  16. consumer与broker间有负载均衡

  17. 在linux系统上使用sendfile系统调用,通过zero-copy技术达到很高的效率

  18. 部署难度一般,配置管理还算方便

  19. 最新版支持副本机制,解决了单点故障问题

  20. 最新版支持镜像功能,可支持消息迁移,但还不太成熟,限制较多,如只能使用默认的patitioner等

  21. 水平扩展方便,对业务无影响,Zookeeper管理consumer和broker的加入和退出

  22. 也可以不依赖Zookeeper,那么事先需要在配置文件中指定机器信息,集群是静态的,不能变动

  23. 消息支持压缩,节省网络开销,目前只支持gzip格式

  24. 有安全机制和监控机制

  25. 数据可批量导入hadoop,做离线数据分析

  26. 设计指导思想是注重吞吐率更胜于注重功能特性

  27. 未来会支持流式处理

  28. Scala语言实现,代码行数不到6K,语言不熟悉但代码量不大

  29. 开发较活跃,用户量较多,目前还在增长中

总结

以上是脚本宝典为你收集整理的

Kafka的一些特点

全部内容,希望文章能够帮你解决

Kafka的一些特点

所遇到的程序开发问题,欢迎加入QQ群277859234一起讨论学习。如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典网站推荐给程序员好友。 本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。

80%的人都看过