2016 - 2024

感恩一路有你

生产者均衡图解 如何设计一个MQ消息队列?

浏览量:1166 时间:2021-03-13 05:11:41 作者:admin

如何设计一个MQ消息队列?

1.先上图,明确一个消息发送和消费的流程

2.消息消息首先需要定义消息协议,比如ActiveMQ,Stomp,XMPP等

3.消息协议定义好了,明确消息队列需要满足什么场景

是否需要保证消息可靠性,如果需要就要做存储的高可用

是否需要支持同步和异步消息

是否需要保证消息的顺序

是否需要支持延时消息

具体可以参照很多开源实现的特性,比如RocketMQ就是高可靠的,Kafka就是高吞吐量的,但是不是高可靠的。


日志采集系统flume和kafka有什么区别及联系?

Flume和Kafka有一部分功能是相同的,但是整体来看,两者的差别还是很大的;它们使用的场景有所不同,但是可以相互配合使用。


Flume

简单的说,Flume是分布式日志收集系统,它把各个服务器上的日志收集起来,传送到制定的地方,比如传送到HDFS中。

Kafka

Kafka的定位是分布式消息中间件,自带存储,提供push和pull存取数据功能。


使用场景

在实际应用中,系统实时产生的日志需要最后进入HDFS,但是生产上的日志数量会有波动,比如由于访问量的增加,导致突然之间产生大量的日志,这时候可能会导致日志写入HDFS失败,所以这时候可以先把日志数据写入到Kafka中,再由Kafka导入到HDFS中。

总结:在日志采集系统中,把Kafka当做日志缓存更加合适,Flume做数据采集,因为它可以定制很多数据源,减少开发量,所以Flume和Kafka可以配合起来一起工作。

整体的流程是这样的:

服务器上的日志<--Flume-->Kafka-->HDFS-->离线计算

服务器上的日志<--Flume-->Kafka-->Storm


希望我的回答能够帮助到你!

生产者均衡图解 消费者生产者模型 人类图生产者二分人

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。