消息中心MDS

简介

消息投递服务(Message Delivery Service)基于Kafka技术实现,是一种高效、可靠、安全、便捷、可弹性扩展的分布式消息队列服务。MDS能够帮助应用开发者在他们应用的分布式组件上自由的传递数据,构建松耦合系统。

特点

易用且水平可扩展 消息服务只要进行申请,下载相应的SDK,简单两步就使用消息服务,且发送消息服务为并行发送。当消息量大时,消息服务可以通过增加消息服务端来线性扩展。

支持并发访问 在消息的生产端和消费端,都支持并发访问。生产端采用线程池模式,消费端支持分布式自协调的并发消费模式,且支持高可用性。

消息投递保障及访问控制 在消息有效期内,确保消息至少能被成功消费一次。接入亚信云账号体系,用户间资源隔离,确保您队列中的消息不会被非法获取。

使用限制条件

使用者已经注册成为PaaS平台用户 使用者已经申请了消息服务 使用者在申请服务后已经创建了消息队列 SDK要求JDK版本为1.7+ 消息分区只支持求模分区

常见问题

Q:MDS SDK中的发送方法中第三个参数key的含义?
A:第三个参数表示消息的唯一标识,在后续消费时依据场景可能会被用到(如对接storm),若消费端不需要则参数值赋null。

Q:MDS SDK 消费端为什么要实现两个接口?
A:MDS 消费端设计成多进程、多线程模式,即每个消息分区会有一个线程对应消费,因此一个接口用于真正的消息消费,一个接口用于实例化具体的消费线程。

Q:MDS SDK 消费端是否支持集群模式?
A:MDS SDK 消费端支持高可用和负载均衡,因此即使某个进程挂掉,其他进程会接管。当更多的进程起来时,工作会进行相应的重新分配,重新分配期间不影响消息的消费。