3

这里总结下MQ的研究点,以及如果要自己设计一个MQ应该考虑的因素。

考虑点

1、远程通信功能

(1)逻辑通信协议:STOMP, AMQP, MQTT, Openwire, SSL, and WebSockets
(2)物理通信协议:TCP、HTTP?

2、目标功能

(1)支持哪几种消息发送模式(P2P、Pub/Sub)
(2)消息接收模型(推、拉)
(3)消息投递策略(at-most-once、at-least-once、exactly-once)
(4)消息事务支持?
(5)消息顺序性?
(6)JMS API支持?(这个不是很关键)
(7)管理API:JMX还是REST?

3、分布式方面考量

(1)高可用(High Availability):Master/Slave?Failover?失败重连?
(2)高吞吐(High Throughout):消息吞吐量、扩容(横向纵向扩展、负载均衡)?
(3)高一致(High Persistence):消息持久化、不重发?

其他

其他的待补充


codecraft
11.9k 声望2k 粉丝

当一个代码的工匠回首往事时,不因虚度年华而悔恨,也不因碌碌无为而羞愧,这样,当他老的时候,可以很自豪告诉世人,我曾经将代码注入生命去打造互联网的浪潮之巅,那是个很疯狂的时代,我在一波波的浪潮上留下...


引用和评论

0 条评论