消息服务MNS和消息队列ONS产品对比

MNS已经进过严格测试,已达到商业化的稳定性要求,其主要特点和适用场景
1.数据高可靠(10个9),对于数据可靠性敏感(要求消息数据不丢)的应用场景建议选择。
2.所有API符合HTTP RESTFUL 标准,方便接入,对于由于有不同网络安全域之间数据交换要求的场景建议选择,只需要http80端口开放就可以(一般默认开放),不需要开放额外端口。
3.后端存储采用阿里云自主研发的飞天分布式系统(已广泛应用于阿里云各个云产品),单集群规模已达到5k台,消息堆积无上限,对于消息堆积有上亿级别要求的用户场景,建议选择。
4.由于使用HTTP Restful 接口,SDK客户端无状态,不会占用用户服务器过多CPU 资源。对于用户服务器CPU 占用有要求的场景建议选择。
5.保证用户消息至少被消费一次语义。对于消息处理有此类要求的场景建议选择。
6.保证消息写高可用(always writable)。对于写消息可用性要求较高的用户建议选择。
7.MNS API 已全部支持RAM主子账号访问,方便企业按账号角色对MNS访问权限进行管理。

 

历史

LinkedIn在发达后,急需一个消息系统,他们的业务主要基于JAVA,在考查了JMS等等后,认为现有的不能满足他们的要求,于是发展了自己的MQ系统,特点是大量利用了当时飞速发展的hadoop系统中的zookeeper,

2011年,LinkedIn将他们的MQ开源,命名为Kafka

在2012年淘宝的双11压力,促使淘宝也开发自己的MQ系统,但淘宝的业务和LinkedIn并不太相似,所以淘宝借用了Kafka的zookeeper思想,自己实现了自己的MQ,淘宝也将其开源,命名为metaQ,这大约发生淘宝在metaQ上发展了数年,一直发展到3.0版本,时间到了2014年,改名为RocketMQ,阿里云上线后,基于RocketMQ部署的就是ONS。

但RocketMQ是云时代之前的产物,云时代的阿里云基于飞天系统,天生的大规模计算能力
2014年,新的基于飞天系统开发的新的MQ系统,MQS
2015年,重新命名为 MNS

结论

如果你只想使用MQ,并且不打算迁移到别的平台,那么推荐使用MNS,它是新开发的系统,无论性能还是稳定性,都远超ONS
但你有时想要自己部署一套自己的MQ,或者以后有可能迁移到非阿里云的环境,那么使用ONS,你可以自己部署一套RocketMQ来平稳过渡

 

参考

消息服务MNS和消息队列ONS产品对比

消息服务MNS和消息队列ONS产品对比的更多相关文章

  1. JMS(Java消息服务)与消息队列ActiveMQ基本使用(一)

    最近的项目中用到了mq,之前自己一直在码农一样的照葫芦画瓢.最近几天研究了下,把自己所有看下来的文档和了解总结一下. 一. 认识JMS 1.概述 对于JMS,百度百科,是这样介绍的:JMS即Java消 ...

  2. 【9】JMicro微服务-发布订阅消息服务

    如非授权,禁止用于商业用途,转载请注明出处作者:mynewworldyyl 1. JMicro消息服务目前实现特性 a. JMicro只支持发布订阅消息服务,不支持队列式消息服务: b. 不支持消息持 ...

  3. MQ消息队列(2)—— Java消息服务接口(JMS)

    一.理解JMS   1.什么是JMS?         JMS即Java消息服务(Java Message Service)应用程序接口,API是一个消息服务的标准或者说是规范,允许应用程序组件基于J ...

  4. WCF分布式开发步步为赢(13):WCF服务离线操作与消息队列MSMQ

    之前曾经写过一个关于MSMQ消息队列的文章:WCF分布式开发必备知识(1):MSMQ消息队列 ,当时的目的也是用它来作为学习WCF 消息队列MSMQ编程的基础文章.在那篇文章里,我们详细介绍了MSMQ ...

  5. JMS(Java消息服务)入门教程

    什么是Java消息服务 Java消息服务指的是两个应用程序之间进行异步通信的API,它为标准消息协议和消息服务提供了一组通用接口,包括创建.发送.读取消息等,用于支持JAVA应用程序开发.在J2EE中 ...

  6. “一切都是消息”--MSF(消息服务框架)入门简介

    “一切都是消息”--这是MSF(消息服务框架)的设计哲学. MSF的名字是 Message Service Framework 的简称,中文名称:消息服务框架,它是PDF.NET框架的一部分. 1,M ...

  7. 分布式系统的消息&服务模式简单总结

    分布式系统的消息&服务模式简单总结 在一个分布式系统中,有各种消息的处理,有各种服务模式,有同步异步,有高并发问题甚至应对高并发问题的Actor编程模型,本文尝试对这些问题做一个简单思考和总结 ...

  8. java消息服务学习之JMS概念

    JMS即Java消息服务(Java Message Service)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信. ...

  9. “一切都是消息”--iMSF(即时消息服务框架)入门简介

    “一切都是消息”--这是iMSF(即时消息服务框架)的设计哲学. MSF的名字是 Message Service Framework 的简称,由于目前框架主要功能在于处理即时(immediately) ...

随机推荐

  1. 02.Web大前端时代之:HTML5+CSS3入门系列~H5结构元素

    Web大前端时代之:HTML5+CSS3入门系列:http://www.cnblogs.com/dunitian/p/5121725.html 1.结构元素 可以理解为语义话标记,比如:以前这么写&l ...

  2. 字符串转化为Json格式的数据--(记录四)

    var pName = $(".productName").html(); var pPrice = $(".productPrice").html(); // ...

  3. C/S架构和B/S架构的概念和区别

    C/S 架构 C/S 架构是一种典型的两层架构,其全程是Client/Server,即客户端服务器端架构,其客户端包含一个或多个在用户的电脑上运行的程序,而服务器端有两种,一种是数据库服务器端,客户端 ...

  4. 解决js动态改变dom元素属性后页面及时渲染问题

    今天实现一个进度条加载过程,dom结构其实就是两个div <div class="pbar"> <div class="ui-widget-header ...

  5. Golang 生成随机数

    package main import ( "fmt" "math/rand" "time" ) func main() { rand.Se ...

  6. Android动画效果之自定义ViewGroup添加布局动画

    前言: 前面几篇文章介绍了补间动画.逐帧动画.属性动画,大部分都是针对View来实现的动画,那么该如何为了一个ViewGroup添加动画呢?今天结合自定义ViewGroup来学习一下布局动画.本文将通 ...

  7. Java多线程系列--“JUC锁”03之 公平锁(一)

    概要 本章对“公平锁”的获取锁机制进行介绍(本文的公平锁指的是互斥锁的公平锁),内容包括:基本概念ReentrantLock数据结构参考代码获取公平锁(基于JDK1.7.0_40)一. tryAcqu ...

  8. PHP实现删除数组中的特定元素

    方法1: <?php $arr1 = array(1,3, 5,7,8); $key = array_search(3, $arr1); if ($key !== false) array_sp ...

  9. Asp.Net Core 项目实战之权限管理系统(7) 组织机构、角色、用户权限

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  10. Atitit.ide技术原理与实践attilax总结

    Atitit.ide技术原理与实践attilax总结 1.1. 语法着色1 1.2. 智能提示1 1.3. 类成员outline..func list1 1.4. 类型推导(type inferenc ...