消息服务MNS和消息队列ONS产品对比
消息服务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产品对比的更多相关文章
- JMS(Java消息服务)与消息队列ActiveMQ基本使用(一)
最近的项目中用到了mq,之前自己一直在码农一样的照葫芦画瓢.最近几天研究了下,把自己所有看下来的文档和了解总结一下. 一. 认识JMS 1.概述 对于JMS,百度百科,是这样介绍的:JMS即Java消 ...
- 【9】JMicro微服务-发布订阅消息服务
如非授权,禁止用于商业用途,转载请注明出处作者:mynewworldyyl 1. JMicro消息服务目前实现特性 a. JMicro只支持发布订阅消息服务,不支持队列式消息服务: b. 不支持消息持 ...
- MQ消息队列(2)—— Java消息服务接口(JMS)
一.理解JMS 1.什么是JMS? JMS即Java消息服务(Java Message Service)应用程序接口,API是一个消息服务的标准或者说是规范,允许应用程序组件基于J ...
- WCF分布式开发步步为赢(13):WCF服务离线操作与消息队列MSMQ
之前曾经写过一个关于MSMQ消息队列的文章:WCF分布式开发必备知识(1):MSMQ消息队列 ,当时的目的也是用它来作为学习WCF 消息队列MSMQ编程的基础文章.在那篇文章里,我们详细介绍了MSMQ ...
- JMS(Java消息服务)入门教程
什么是Java消息服务 Java消息服务指的是两个应用程序之间进行异步通信的API,它为标准消息协议和消息服务提供了一组通用接口,包括创建.发送.读取消息等,用于支持JAVA应用程序开发.在J2EE中 ...
- “一切都是消息”--MSF(消息服务框架)入门简介
“一切都是消息”--这是MSF(消息服务框架)的设计哲学. MSF的名字是 Message Service Framework 的简称,中文名称:消息服务框架,它是PDF.NET框架的一部分. 1,M ...
- 分布式系统的消息&服务模式简单总结
分布式系统的消息&服务模式简单总结 在一个分布式系统中,有各种消息的处理,有各种服务模式,有同步异步,有高并发问题甚至应对高并发问题的Actor编程模型,本文尝试对这些问题做一个简单思考和总结 ...
- java消息服务学习之JMS概念
JMS即Java消息服务(Java Message Service)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信. ...
- “一切都是消息”--iMSF(即时消息服务框架)入门简介
“一切都是消息”--这是iMSF(即时消息服务框架)的设计哲学. MSF的名字是 Message Service Framework 的简称,由于目前框架主要功能在于处理即时(immediately) ...
随机推荐
- python中的Ellipsis
...在python中居然是个常量 print(...) # Ellipsis 看别人怎么装逼 https://www.keakon.net/2014/12/05/Python%E8%A3%85%E9 ...
- 在SQL Server中为什么不建议使用Not In子查询
在SQL Server中,子查询可以分为相关子查询和无关子查询,对于无关子查询来说,Not In子句比较常见,但Not In潜在会带来下面两种问题: 结果不准确 查询性能低下 下面 ...
- Web API与OAuth:既生access token,何生refresh token
在前一篇博文中,我们基于 ASP.NET Web API 与 OWIN OAuth 以 Resource Owner Password Credentials Grant 的授权方式( grant_t ...
- 实现MVC自定义过滤器,自定义Area过滤器,自定义Controller,Action甚至是ViewData过滤器
MVC开发中几种以AOP方式实现的Filters是非常好用的,默认情况下,我们通过App_Start中的FilterConfig来实现的过滤器注册是全局的,也就是整个应用程序都会使用的,针对单独的Fi ...
- ubuntu 14.04LTS 环境下配置NFS服务
简言之,NFS(Network FileSystem,网络文件系统)用于在不同机器,不同操作系统之间通过网络互相分享各自的文件.NFS设计之初就是为了在不同的系统间使用,所以它的通讯协议设计与主机及操 ...
- 从游戏脚本语言说起,剖析Mono所搭建的脚本基础
0x00 前言 在日常的工作中,我偶尔能遇到这样的问题:“为何游戏脚本在现在的游戏开发中变得不可或缺?”.那么这周我就写篇文章从游戏脚本聊起,分析一下游戏脚本因何出现,而mono又能提供怎样的脚本基础 ...
- react-native 简单的导航
默默潜水了两年了,一直都在看大神们写的博客,现在我也分享一下跟RN导航有关的东西. 前两年我主要是做iOS开发的,现在刚找了份工作,应公司要求,现在开始学习reactnative的东西,由于我以前没怎 ...
- [下载]北京新版小学英语五年级上册mp3点读APP
义务教育教科书小学英语五年级上册点读软件.根据2014年北京教改版教材编写,发音标准.实现点读功能.点到哪里读到哪里.哪里不会点哪里!北京教育科学研究院编写,北京出版社出版.ISBN:97872001 ...
- 记录一次bug解决过程:eclipse集成lombok插件
一 总结 eclipse集成插件lombok: 启动Spring Boot项目: sublime全局搜索关键字:ctrl + shift + F JDK8中的lambda表达式使用 二 BUG描述:集 ...
- Spring在web应用中获得Bean的方法
一:使用ApplicationContext获得Bean 首先新建一个类,该类必须实现ApplicationContextAware接口,改接口有一个方法,public void setApplica ...