认识阿里云消息服务
在 2015 杭州云栖大会上,阿里云发布了一款支持海量消息,使命必达的消息服务产品 (http://www.aliyun.com/product/mns) 。目前,消息服务也是阿里云的一款商用消息产品,其服务稳定性和可靠性都有全面的 SLA 保障。
你是否,还在担心硬盘损坏等原因导致数据丢失?还在担心自建的消息服务受到恶意攻击?还在担心业务量迅速增加可能导致的性能压力?还在担心没有专业的运维人员?担心机器的维护成本过高?不必担心! MNS 消息服务已经帮你一站式解决了以上所有问题,并且,价格超便宜!
让我们来一起看看 MNS 消息服务是怎么做到的。
MNS 消息服务的底层是基于阿里云的飞天分布式系统,用户请求被随机分配到后台不同的 Server 上,用户的数据也被分散存储在不同的后台 Server 上。用户每次发送消息时,后台在返回给用户写成功之前,会确保对应的消息已经被复制到 3 台不同的物理机上,并且后台的数据复制机制能够保证任何一台物理机故障时其上的数据能够迅速做迁移,时刻保证用户数据 3 份 copy 可用,进而实现了非常高的数据可靠性( 99.99999999% )。这样的数据可靠性,与其他通过主从备份等传统方式实现的数据冗余,有着根本上的不同。
消息服务无论是元数据节点( MetaService )还是数据节点( DataService ),都采用了完全分布式的设计,具有非常好的线性扩展能力。并且用户数据也被打散存储在整个飞天集群里,突破了单物理机的存储上限,进而实现了海量的数据存储能力。用户的单队列堆积消息数无上限限制。
同时,对于用户的每个队列, MNS 消息服务都有至少两台物理机提供服务,并且任何物理机发生故障时,队列服务单元都会迅速自动迁移,这就保证了任何时刻出现机器故障,都不会影响用户对于队列的使用,进而保证了消息服务的高可用性( 99.9% )。
在性能方面,完全采用分布式设计的 MNS 消息服务,完全支持用户业务的削峰填谷场景。 2016 年春节期间, MNS 消息服务部分用户的队列 QPS 从 1000 暴增至数万,过程中用户服务持续顺滑,极大地减轻了用户自建消息服务时机器维护和机器扩容的压力。
阿里云 MNS 消息服务也同时附赠很多的额外功能。使用消息服务经常会遇到这样的难题:我的程序接收到消息后,在处理消息的过程中发生了错误,导致程序卡死或者程序崩溃。那么程序重启之后,之前未处理完的消息是否还能被继续处理,经常是需要很多额外的代码逻辑的。使用消息服务后,消息只有在用户主动删除后才会被删除,否则消息在用户自定义的时间长度之后还可以被继续消费,用户程序重启后依然可以继续接收到自己未处理完的消息,用户程序只需要在处理完消息之后主动删除消息即可。
同时, MNS 消息服务还有着优先级消息,延时消息,批量消息,和主动的消息通知等等一系列特色功能。
MNS 消息服务的价格更是极具吸引力,每个月有 100W 的免费请求量,并且每 100W 次请求只收 2 元钱,完全按量付费。
更多信息,可以随时登陆阿里云官网查看: www.aliyun.com/product/mns
声明:云栖社区站内文章,未经作者本人允许或特别声明,严禁转载,但欢迎分享。