java 使用MQ设计一个消息推送系统

最近打算做一个消息推送系统,数据量还挺大的,一个月有大概300万,我应该要怎么设计这个系统?又有什么地方需要注意的呢?业务基本上是通过手机号给用户发送通知。还有,像这种系统,一般选用哪种MQ比较好?希望大家给点意见。

先不论用什么来实现,我们先评估业务。

1、你用消息,你要明白,你这个消息,消费的时候需要不需要回复已已消费?
2、你能不能重复消费消息?
3、如果消息丢失了怎么办?
4、另外,这些消息是怎么一个消费规律?一次性会发送多少?频率是怎样?
5、服务器架构需要如何设计?是否需要集群?是否需要分布式?

kafka ?

这还需要理由选择吗? 用户最大的就是kafka。


More than 80% of all Fortune 100 companies trust, and use Kafka.

不存在选错的问题,这个理由就足以覆盖其它的。 当然开源也可以算一个。