随便谈一下kafka消息队列

举报
Regan Yue 发表于 2021/10/26 20:50:58 2021/10/26
【摘要】 随便谈一下kafka消息队列今天就随便说一说kafka吧,看到哪说到哪,我们有时为了改善系统的性能不得不采取很多措施,消息队列就是其中一个十分有效的方法,我们平时的短信群发,为了避免一下子涌入大量数据,往往会把这些短信送入发送队列,排队一条一条的发送。我们的消息队列和这个发送队列也类似。消息队列也有几种不同的类型,其中一种是点对点的消息队列。点对点说的是一个特定消息生产者生产消息放入队列,...

随便谈一下kafka消息队列

今天就随便说一说kafka吧,看到哪说到哪,我们有时为了改善系统的性能不得不采取很多措施,消息队列就是其中一个十分有效的方法,我们平时的短信群发,为了避免一下子涌入大量数据,往往会把这些短信送入发送队列,排队一条一条的发送。我们的消息队列和这个发送队列也类似。

消息队列也有几种不同的类型,其中一种是点对点的消息队列。点对点说的是一个特定消息生产者生产消息放入队列,然后就会有一个消费者去队列中取数据,所以一个消息只会对应一个消费者。还有一种是发布/订阅的消息队列,就是一个消息会对应多个消费者。

Kafka是什么?

  1. Kafka是由Scala和Java编写的。
  2. Kafka现在由Apache开发。
  3. Kafka是具有高吞吐量的特性:每秒可处理高达百万的消息。

Kafka的优点

  1. 降低了系统架构的难度,将具体的任务细分到各个节点,谁发布任务,谁去处理任务都被安排妥当。
  2. 降低了编程的难度,Kafka起到了连接各个子系统的作用。
  3. 是分布式的,无需关机也可扩展集群。

消费者分组

消费者分组是用来归类同类消费者。

假如我们有多个消费者,其中消费者c0要从p0去拿数据,消费者c1也要从p0去拿数据,那么我们就可以把c0和c1放到一个消费者组中,这个消费者组中的消费者共享消息,可以节约一些连接的时间。

应用场景

  1. Kafka是一直等待生产者生产消息,它是用来处理活跃的数据流的,如果数据量不多,是完全没有必要使用Kafka的。
  2. 需要同时处理在线消息和离线日志的情况下。

其它的消息队列

  1. RabbitMQ:是一种重量级的消息队列,具有可伸缩性和消息持久化的特性。
  2. ZeroMQ:号称最快的消息队列,在吞吐量上超过了TCP的性能。但是相关的技术比较复杂。
  3. ActiveMQ:中庸的一个消息队列系统。
  4. Redis:是一种NoSQL数据库也支持消息队列,数据量较小的时候性能比较强,但是数据量较大时就慢得令人绝望。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。