解密阿里云七武器之高性能消息服务ONS

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

 

722日,首届阿里云分享日上,阿里云正式对外发布了企业级互联网架构解决方案,该服务由EDAS应用框架、ONS消息队列、DRDS分布式数据库组成,能有效解决企业上云后网站过载、性能瓶颈、重复开发等问题。

而由阿里巴巴集团经过6年的自主研发,基于高可用分布式集群技术的ONS云消息服务,是企业级互联网架构解决方案的典型代表。目前,ONS云消息服务每天可处理上千亿条消息,服务于阿里内部上千个应用,轻松通过天猫双十一等大促考验。外界对ONS的描述是“成熟、稳定、可靠,性能突出”,那么ONS究竟有多神?一起来探究一下。

此前,一张流出的ONS产品视图证实了阿里将把自己6年来的看家武器提供给开发者。

多维度接入、轻松回溯、线性扩容

接入方面,阿里云ONS支持JAVAC++.NETPHP四种语言的SDK接入,同时提供RESTful风格HTTP协议完成收发消息,另外还支持MQTT协议接入可以满足设备与设备、设备与应用间的可靠高效的通信。除了常规的延时消息,实现消息延迟投递,满足应用需要定时、延迟发送消息的需求外,依靠类XA的分布式事务架构,阿里云ONS还支持事务消息,能实现事务最终一致性。

订阅方可能常常会遇到这样的难题:当你下午2点半的时候发现12点的消息出现了错误,传统的模式下消息可能出现丢失,而人工回溯又特别费时费力,估计今晚跟女朋友的约会又要泡汤了。在阿里云ONS多维度的消息管理下,你大可放心赴约,ONS支持消息回溯消费,可以最多回溯到3天前的消息,并重新消费。此外,阿里云ONS还提供了图形化的基于WEB的管理控制台,能直观管理消息路径,随时进行回溯纠错和失败重试,精确实时反馈投递情况。最高可精确到topic维度,可以监控各topic消息堆积情况,提供报警机制。

在性能方面,阿里云ONS采用了多线程设计,提供亿级消息堆积能力,完美支持业务削峰场景。在高并发场景下能弹性扩容,1天内就能部署并验证上千个节点的大型企业专有云架构,保证消息投递的低延迟和及时性。

承诺可靠性99.99% 阿里云ONS与同类产品对比

其实对阿里云来说,再高的性能需求都不叫事,拥有6年来淘宝、天猫、双11交易链路大规模真实场景应用经验,阿里云ONS一天内完成上千亿条消息传递都成了家常便饭。虽然亚马逊AWS也有消息服务SNS,但SNS架设在国外,国内没有接入点,对国内的用户来说需要跨国网络,这就带来了稳定性和网络延迟的多重考验。商业化之后,阿里云ONS还将推出相应的机制来保证99.99%的可靠性和99.9%的可用性。

阿里云ONSAWS-SNS、百度云消息、腾讯云信鸽之间的对比

与目前流行的开源消息中间件Kafka相比,基于云服务的阿里云ONS的优势很明显,用户无需花高额的价钱购买服务器并维护,还能按量付费,适合多个场景。目前,阿里云ONS已经全方位覆盖了物联网、金融支付、电信、快递物流、广告营销、社交、手游、人力资源、视频以及互联网门户等十大领域,尤其是物联网的应用场景,每个传感器都是系统中的节点,节点之间依靠消息异步通信,天然形成了基于消息的分布式应用。

 

财报显示,2015年第二季度,阿里云成为阿里巴巴增长最快的业务,加上阿里巴巴CEO张勇宣布对阿里云增资10亿元,显然云计算已经成为阿里最为重视的业务之一,资源也会向其倾斜。此次阿里云推出的中间件产品ONS,也是在经过6年的优化和检验之后才向用户开放,稳定性和可靠性更有保证。

随着云计算在全球范围内的普及,各方面的需求越来越强烈,未来中国市场将为全球云计算市场贡献43%的增长,IDC预计到2018年中国云计算市场将达到20亿美元。。强劲的市场增长也将吸引越来越多的互联网公司投入云计算市场,据研究机构IDC数据显示,2014年阿里云在中国公有云市场份额排名第一,市场占有率达29.7%,超过亚马逊、微软和IBM在中国市场的份额总和。

转载于:https://my.oschina.net/u/1464083/blog/496495

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/399773.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php动态数组的用法

// 创建连接 $con new mysqli($servername, $username, $password, $dbname); // Check conection if ($con->connect_error) {die("连接失败: " . $con->conect_error); }$sql "SELECT * FROM table limit 0,1000"; $result $con->query($sql…

MySQL划重点-查询-条件

查询的基本语法select * from 表名; 消除重复行在 select 后面列前使用distinct 可以消除重复的行 select distinct gender from students;一、条件 使用where子句对表中的数据筛选,结果为true的行会出现在结果集中语法如下 select * from 表名 where 条件;select *…

高数.........

高数70你敢信???临考前各种复习做卷子 各种认真 考试的时候感觉题目也都能做 尼玛连上平时分才给我70? 特么我是不信 打电话问问老师 如果没录错果断重修 郁闷转载于:https://www.cnblogs.com/ahu-shu/p/3520249.html

windows服务器下的ftp server搭建

软件下载链接:http://pan.baidu.com/s/1eQJbmUY ftpserver1.下载后打开。2.运行安装3.安装目录选择。这里我选择安装在C盘的FTP目录下,直接填写即可。这个安装目录可随意设置。4.安装启动。查看使用教程,添加用户名,设置密码&a…

WordPress获取当前分类ID的四种方法

WordPress获取当前分类ID的四种方法 时间: 2015-01-05 所属栏目: Wordpress教程 作者: WP管理员之家 关键词: wordpress,分类ID 关注热度: 4,346 次 (1条) WordPress获取当前分类ID的方法有很多,今天我来给大家总结一下吧,wordpress主题定制专家-WP管理…

linux笔记_20150825_linux下的软件工具唠叨下

这些都是书上看到的,有些工具我也没有完全用过。先记下来再说。闲着也是闲着。 1.linux下常见的语言及编程环境:c/c/java/perl/fortan等. 2.图形环境:gnome/kde/gimp/windowmaker/icewm等. 3.编辑器:xemacs/vim/gedit/pico等. 4.shells:bash/tcsh/ash/cs…

扩展编写jquery插件的方法

比如要扩展验证功能(jquery.validate.js)中的 messages: { required: "This field is required.", remote: "Please fix this field.", email: "Please enter a valid email address.", url: "Please enter a valid …

WordPress窗体化侧边栏

窗体化侧边栏是一个支持 Widget 的侧边栏或者说是窗体化(widgetized)的侧边栏几乎是 WordPress 主题的标准。 首先,什么是窗体化(widgetizing)呢?简单的说,窗体化就是能够通过拖拉就能够整理侧边…

EditPlus3 添加 PHP代码格式化

https://www.jb51.net/softs/23113.html 整合PHPCB到EditPlus: EidtPlus:工具》配置用户工具…》添加工具: 菜单文本:PHPCB 命令:浏览到PHPCB程序。 参数:--space-after-if --optimize-eol --space-aft…

1-17

今天很慵懒啊,啥事也没做,把高精度复习了一遍(hdu1002)。 首先俩字符串数组输入,然后按字符串的长度逆序转到整形数组里 (主要是为了把数值的最低位移动到数组的最低位,方便进位)&am…

FTP下载导致Zip解压失败的原因

情形:网关通过FTP下载快钱对账文件时通过Apache下commons-net的commons-net-3.5.jar进行封装,对账文件中有中文和英文的文字,大部分情况下能够下载成功,而且也能解压成功。但是偶尔会出现下载了zip的文件,但是解压失败的情况。解决…

SNMP学习之结构体snmp_secmod_def

此结构体中定义了各个回调函数,在函数init_ksm(E:\code\net-snmp-5.4.2.1\snmplib)中进行了初始化。 void init_ksm(void) { struct snmp_secmod_def *def; // 申请内存 def SNMP_MALLOC_STRUCT(snmp_secmod_def); // 初始化回调函数 def-…

iOS 多参数 ...NS_REQUIRES_NIL_TERMINATION 的写法

1.很早就看到项目里面有下面这样的写法 1 - (id) initWithTitle:(NSString *)title items:(MXContextMenuItem *)item, ... NS_REQUIRES_NIL_TERMINATION; 2.查了点资料,自己练习了下,试着写了个 1 //.h 2 - (NSString *)addMoreArguments:(NSString …

可视化WEB开发 -资料收集

DDDL Studio 版本,一直没有更新,不知道,还能不能用

Golang package

今天,灵感一现:不能一个文件干到底吧,那要是工程大了怎么办? 答案很简单,“包”啊 GO里的包,看起来很简单,但又不简单 一开始,我想当然的以为就是include 路径一样的问题 事实是&…

zabbix通过JMX监控Tomcat及一些报错

软件包下载地址:Wget http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.11/bin/apache-tomcat-7.0.11.tar.gz#安装jdk:Mkdir /usr/lib/jvmTar xf jdk-7u45-linux-x64.gz -C /usr/lib/jvm#在profile追加以下内容 Vim /etc/profileJAVA_HOME"/usr/lib/jvm/j…

文件的输入/输出操作

10.1 文件I/O操作概述 在Linux系统中,文件I/O操作可以分为两类,一类是基于文件描述符的I/O操作,另一类是基于数据流的I/O操作。 10.1.1 文件描述符简介 在文件操作一章中,也经常提到文件描述符这个概念。所谓文件描述符&#xff0…

KVM(多电脑切换器)

KVM:Keyboard Video Mouse的缩写。KVM 交换机通过直接连接键盘、视频和鼠标 (KVM) 端口,让您能够访问和控制计算机。KVM 技术无需目标服务器修改软件。这就意味着可以在 Windows 的 BIOS 环境下,随时访问目标计算机。KVM 提供真正的主板级别访…

git 仓库操作

一。git 仓库从远程clone 首先要建立一个本地空目录文件比如 RuntimeJsonModel,然后: 1. git init 2. git clone https://github.com/GuoZhiQiang/RuntimeJsonModel.git 此时,已经 从远程 clone 了一份文件。如果 把一些工程需要的其它文件&…