随便谈一下kafka消息队列
【摘要】 随便谈一下kafka消息队列今天就随便说一说kafka吧,看到哪说到哪,我们有时为了改善系统的性能不得不采取很多措施,消息队列就是其中一个十分有效的方法,我们平时的短信群发,为了避免一下子涌入大量数据,往往会把这些短信送入发送队列,排队一条一条的发送。我们的消息队列和这个发送队列也类似。消息队列也有几种不同的类型,其中一种是点对点的消息队列。点对点说的是一个特定消息生产者生产消息放入队列,...
随便谈一下kafka消息队列
今天就随便说一说kafka吧,看到哪说到哪,我们有时为了改善系统的性能不得不采取很多措施,消息队列就是其中一个十分有效的方法,我们平时的短信群发,为了避免一下子涌入大量数据,往往会把这些短信送入发送队列,排队一条一条的发送。我们的消息队列和这个发送队列也类似。
消息队列也有几种不同的类型,其中一种是点对点的消息队列。点对点说的是一个特定消息生产者生产消息放入队列,然后就会有一个消费者去队列中取数据,所以一个消息只会对应一个消费者。还有一种是发布/订阅的消息队列,就是一个消息会对应多个消费者。
Kafka是什么?
- Kafka是由Scala和Java编写的。
- Kafka现在由Apache开发。
- Kafka是具有高吞吐量的特性:每秒可处理高达百万的消息。
Kafka的优点
- 降低了系统架构的难度,将具体的任务细分到各个节点,谁发布任务,谁去处理任务都被安排妥当。
- 降低了编程的难度,Kafka起到了连接各个子系统的作用。
- 是分布式的,无需关机也可扩展集群。
消费者分组
消费者分组是用来归类同类消费者。
假如我们有多个消费者,其中消费者c0要从p0去拿数据,消费者c1也要从p0去拿数据,那么我们就可以把c0和c1放到一个消费者组中,这个消费者组中的消费者共享消息,可以节约一些连接的时间。
应用场景
- Kafka是一直等待生产者生产消息,它是用来处理活跃的数据流的,如果数据量不多,是完全没有必要使用Kafka的。
- 需要同时处理在线消息和离线日志的情况下。
其它的消息队列
- RabbitMQ:是一种重量级的消息队列,具有可伸缩性和消息持久化的特性。
- ZeroMQ:号称最快的消息队列,在吞吐量上超过了TCP的性能。但是相关的技术比较复杂。
- ActiveMQ:中庸的一个消息队列系统。
- Redis:是一种NoSQL数据库也支持消息队列,数据量较小的时候性能比较强,但是数据量较大时就慢得令人绝望。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)