本文主要收录了UCMQ开源后,各位网友提到的一些共性问题。此外,很多网友对UCMQ抱有更多的期望。在此,统一记录一下,既希望能解决大家的疑问,也希望有支持者与我共同完善大家的好点子。
消息队列(Message Queue):将消息按照产生的次序插入队列,而后由其他的处理程序、模块将其从队列中取出,并对消息加以处理,从而形成一个基本的消息队列。使用消息队列可以很好地将任务以异步的方式进行处理,或者进行数据传送和存储等。例如,当你频繁地向数据库中插入数据、频繁地向搜索引擎提交数据,就可采取消息队列来实现异步插入。另外,还可以将较慢、较复杂、有并发数量限制的处理逻辑,通过消息队列放在后台处理。
常见使用场景:短信服务、电子邮件服务、图片处理服务、好友动态推送服务等。
使用HTTP协议主要考虑了跨语言、跨平台和易接入。个人觉得UCMQ的性能不需要太过担忧,大家可以看相关测试数据:http://tech.uc.cn/?p=1344(测试场景:UCMQ只部署一个UCMQ实例),由于UCMQ是一个单进程单线程的轻量级服务,如果实在对性能有极高要求可以部署多个实例。
UCMQ比起其它消息组件的长处和短处是什么?
单个UCMQ无法满足性能要求怎么办?
一般消息队列里储存的数据格式是json吗?
任务分发策略,有订阅功能吗?
发生异常时的处理流程是怎样?
UCMQ是怎么减少IO消耗提高读写性能的?
如果不手工清理的情况下,数据量级变大后,会不会对系统产生性能的影响?数据是如何进行清理的?