这个功能,也是非常实用的。这个版本我加了上去。以前EQueue只有Topic的概念,没有Tag的概念。Tag是对Topic的二级过滤。比如当某个Producer发送了3个消息,Topic都是topic,然后tag分别是01,02,03。然后Consumer订阅了这个Topic,但是订阅这个Topic时同时制定了Tag,比如指定为02,那这个Consumer就只会收到一个消息。Tag为01,03的消息是不会收到的。这个就是Tag的功能。我觉得Tag对我们是非常有用的,它可以极大的减少我们定义Topic。本来我们必须要定义一个新的Topic时,现在可能只需要定义一个Tag即可。关于Tag的实现,我就不展开了。
支持消息堆积报警终于到最后一点了,终于坚持快写完了,呵呵。EQueue Web后台管理控制台现在支持消息堆积的报警了。当EQueue Broker上当前所有未消费的消息数达到一定的阀值时,就会发送邮件进行报警。我们可以把我们的邮件和我们的手机短信进行绑定,比如移动的139邮箱我记得就有这个功能。这样我们就能第一时间知道Broker上是否有大量消息堆积了,可以让我们第一时间处理问题。
结束语这篇文章感觉是我有史以来写过的最有干货的一篇了,呵呵。一气呵成,也是对我前面几个月的所有积累知识经验的一次性释放吧。希望能给大家一些帮助。我写文章比较喜欢写思路,不太喜欢介绍如何用。我觉得一个程序员,最重要的是要学会如何思考去解决自己想解决的问题。而不是别人直接告诉你如何去解决。通过做EQueue这个分布式消息队列,也算是我自己的一个实践过程。我非常鼓励大家写开源项目哦,当你专注于实现某个你感兴趣的开源项目时,你就会有目标性的去学习相关的知识,你的学习就不会迷茫,不会为了学技术而学技术了。我在做EQuque时,要考虑各种东西,比如通信层的设计、消息持久化、整个架构设计,等等。我觉得是非常锻炼人的。
一个人时间短暂,如果能用有限的时间做出好的东西可以造福后人,那我们来到这个世上也算没白来了,你说对吗?所以,我们千万不要放弃我们的理想,虽然坚持理想很难,但也要坚持。