博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Kafka入门(一)
阅读量:7027 次
发布时间:2019-06-28

本文共 951 字,大约阅读时间需要 3 分钟。

一,消息队列的分类

    1,点对点

              消息生产者生产消息发送到queue中,然后消息消费者从queue中取出并且消费消息。

                      

       注意:1,消息被消费以后,queue中不再有存储,所以消息消费者不可能消费到已经被消费的消息。

           2,Queue支持存在多个消费者,但是对一个消息而言,只会有一个消费者可以消费。

      2,发布订阅

                 消息生产者(发布)将消息发布到topic中,同时有多个消息消费者(订阅)消费该消息。和点对点方式不同,发布到topic的消息会被所有订阅者消费。

       

二,消息队列MQ对比

 

    RabbitMQ:支持的协议多,非常重量级消息队列,对路由(Routing),负载均衡(Load balance)或者数据持久化都有很好的支持。

 

   ZeroMQ:号称最快的消息队列系统,尤其针对大吞吐量的需求场景,擅长的高级/复杂的队列,但是技术也复杂,并且只提供非持久性的队列。

 

   ActiveMQ:Apache下的一个子项,类似ZeroMQ,能够以代理人和点对点的技术实现队列 。

 

   Redis:是一个key-Value的NOSql数据库,但也支持MQ功能,数据量较小,性能优于RabbitMQ,数据超过10K就慢的无法忍受

三,kafka简介

     Kafka 是分布式发布-订阅消息系统。它最初由 LinkedIn 公司开发,使用 Scala语言编写,之后成为 Apache 项目的一部分。Kafka是一个分布式的,可划分的,多订阅者,冗余备份的持久性的日志服务。它主要用于处理活跃的流式数据。

   1,kafka的特点

       同时为发布和订阅提供高吞吐量。据了解,Kafka 每秒可以生产约 25 万消息(50 MB),每秒处理 55 万消息(110 MB)。

       可进行持久化操作。将消息持久化到磁盘,因此可用于批量消费,例如 ETL,以及实时应用程序。通过将数据持久化到硬盘以及 replication 防止数据丢失。

 

      分布式系统,易于向外扩展。所有的 producer、broker 和 consumer 都会有多个,均为分布式的。无需停机即可扩展机器。

 

     消息被处理的状态是在 consumer 端维护,而不是由 server 端维护。当失败时能自动平衡。

 

     支持 online 和 offline 的场景。

   2,kafka性能测试效果

 

               

转载地址:http://xzmxl.baihongyu.com/

你可能感兴趣的文章
【MySql】复制出现Slave_SQL_Running: No 错误解决
查看>>
Linux命令学习总结:shutdown
查看>>
[xmlpull]XmlPull常见错误
查看>>
IE7下元素的 'padding-top' 遇到 'clear' 特性在某些情况下复制到 'padding-bottom'
查看>>
(二十一)java字符串替换的问题
查看>>
面向服务编程
查看>>
虚拟化平台cloudstack(5)——参考资料
查看>>
Codeforces Round #309 (Div. 2) B. Ohana Cleans Up
查看>>
用简单的C语言实现多任务轮流切换(模拟操作系统线程机制)
查看>>
android Recyclerview仿京东,滚动屏幕标题栏渐变(启动页面动画)
查看>>
C语言之数值计算--级数算法
查看>>
C++之引用
查看>>
MFC学习笔记之三(粒子系统+怪物简单AI+碰撞检测)
查看>>
ios xmpp研究探索:发送文本消息
查看>>
费用流模板
查看>>
Makefile规则详解
查看>>
明星讲师心石闪耀ArchSummit大会 | 手机淘宝构架演化实践
查看>>
【Android开发】网路编程及Internet应用-从指定网站上下载文件
查看>>
PHP7源码笔记一
查看>>
扩展欧几里得算法求方程特解
查看>>