前言
大数据很好理解,就是有很多数据生产出来,需要处理。比如京东每天有很多订单数据,美团每天有外卖数据。大量数据拿来分析一下,就可以做很多事情。比如描绘用户画像,用户数据推荐等。
通过刚刚到描述,我们可以知道这里面涉及到两个身份,一个是生产者,负责生产数据;另一个是消费者,用于消费数据。稍微想一下,我们就可以猜测大数据会遇到以下问题:
- 数据生产得太快,消费者来不及消费
- 生产数据的服务器挂掉了,导致整个链路中断
- 消费者消费某条数据耗时过长导致后面的数据消费不了,造成阻塞。
解决方案
简单来说就是消息队列(Message Queue),现在比较常见的消息队列产品主要有ActiveMQ、RabbitMQ、ZeroMQ、Kafka、RocketMQ等。我们今天主要讲 kafka,其他的 MQ 也是类似的逻辑。