分布式消息服务 DMS分布式消息服务 DMS

更新时间:2021/06/16 GMT+08:00
分享

准备环境

资源链接

Demo示例包含SDK包,新创建的工程需要引入SDK包,如果直接在Demo示例工程进行编码,则不需要单独下载SDK包。

下文以Linux系统为例介绍Java客户端如何连接DMS服务。

开发环境

Eclipse:Eclipse 3.6.0及以上版本,可至Eclipse官方网站下载。

JDK:Java Development Kit 1.8.111及以上版本,可至Oracle官方下载页面下载。

Maven:Apache Maven 3.0.3及以上版本,可至Maven官方下载页面下载。

获取队列ID和消费组的ID

使用SDK接口访问DMS队列服务,需要先创建队列和消费组,当前DMS队列仅支持在控制台或使用API方式创建队列和创建消费组,不支持从客户端创建。

生产消息和消费消息的功能,可参考示例代码导读,可通过客户端实现。

本章节以在控制台创建队列、消费组和获取队列ID、消费组ID操作为例,使用API的方式,请参考《分布式消息服务 API参考》

操作步骤如下:

  1. 登录管理控制台。
  2. 单击“服务列表”,选择“应用服务 > 分布式消息服务”,进入分布式消息服务信息页面。
  3. 单击左侧菜单栏的“队列管理”。
  4. 在“队列管理”页面,单击页面上方的“创建队列”。

    每个用户默认最多可以创建30个队列,您可以在“删除队列”按钮上面看到您还可以创建多少个队列。如果您想创建更多队列,请联系客服申请增加配额。

  5. 填写队列名称和描述信息。

    表1 参数说明

    参数

    说明

    队列名称

    队列的名称,必须唯一。

    DMS为您自动生成了队列名称,您可以根据需要修改,队列名称只能包含a~z,A~Z,0-9,-,_,长度是[1,64]。

    创建队列后不能修改名称。

    队列类型

    • 普通队列:包括分区有序和全局有序
    • Kafka队列:支持使用开源kafka客户端进行生产消息和消费消息,支持高吞吐和高可靠两种模式。

    队列模式

    队列类型为普通队列时,队列模式取值范围:
    • 分区有序:的普通队列具有更高的并发性能,不保证先入先出(FIFO)的严格顺序。
    • 全局有序:的普通队列保证消息先入先出(FIFO)的严格顺序。
    队列类型为Kafka队列时,队列模式取值范围:
    • 高吞吐:消息副本异步落盘,具有较高的性能
    • 高可靠:消息多副本同步落盘,保证消息的可靠性。

    是否开启死信

    仅队列类型为普通队列时,才有该参数。

    是否开启死信消息,死信消息是指无法被正常消费的消息。

    当达到最大消费次数仍然消费失败后,DMS会将该条消息转存到死信队列中,有效期为72小时,用户可以根据需要对死信消息进行重新消费。

    消费死信消息时,只能消费该消费组产生的死信消息。

    全局有序的队列的死信消息依然按照先入先出(FIFO)的顺序存储在死信队列中。

    默认值:关闭。

    最大消费次数

    仅开启死信时,才有该参数。

    消息进入死信队列前可重复接收次数。

    取值范围:1~100

    默认值:3

    描述(可选)

    队列描述不能包含<>,长度是[0,160]。

    图1 创建队列

  6. 单击“确定”。创建队列完成。
  7. 单击队列名称,显示队列详情,获取队列ID,如图2所示。

    图2 获取队列ID

  8. 单击“创建消费组”。进入“创建消费组”页面。
  9. 填写消费组的名称。

    DMS为您自动生成了消费组名称,您可以根据需要修改,消费组的名称只能包含a~z,A~Z,0~9,-,_,长度是[1,32]。同个队列的消费组名称不能重复。

  10. 单击“确定”。创建消费组完成,获取消费组ID,如图3所示。

    图3 获取消费组ID

获取project id

在调用接口的时候,需要填入项目编号project_id,所以需要先在管理控制台上获取到项目编号,步骤如下:

  1. 注册并登录管理控制台。
  2. 单击用户名,在下拉列表中单击“我的凭证”。
  3. 在“我的凭证”页面的“项目列表”中查看项目ID。

    图4 获取项目ID

获取AK/SK

  1. 登录管理控制台。
  2. 单击用户名,在下拉列表中单击“我的凭证”。
  3. 在“我的凭证”页,单击“管理访问密钥”页签。
  4. 单击“新增访问密钥”,进入“新增访问密钥”页面。
  5. 输入当前用户的登录密码。
  6. 通过邮箱或者手机进行验证,输入对应的验证码。
  7. 单击“确定”,下载访问密钥。

    为防止访问密钥泄露,建议您将其保存到安全的位置。

  8. 保存文件到本地,从下载的credentials.csv文件中获取“Access Key Id”和“Secret Access Key”。

获取区域和Endpoint

Region

Endpoint

说明

华北-北京一

dms-tcp.cn-north-1.myhuaweicloud.com:60010

使用该Endpoint访问DMS服务。

华东-上海二

dms-tcp.cn-east-2.myhuaweicloud.com:60010

华南-广州

dms-tcp.cn-south-1.myhuaweicloud.com:60010

购买弹性云服务器

  1. 使用DMS TCP SDK之前,需要购买弹性云服务器ECS,否则公网无法直接访问DMS。

    弹性IP用于登录弹性云服务器,以及上传文件等。

环境信息汇总

表2 环境信息汇总

类型

项目

收集的信息(以下为示例,请根据实际情况替换)

弹性云服务器

弹性IP

192.168.141.228

用户名

huaweicloud

密码

********

分布式消息服务

队列名称

my-tcp-queue

队列ID

5964181e-b67e-4d35-9281-a58c352abda6

队列类型

普通队列

队列模式

全局有序

消费组名称

my-tcp-group

消费组ID

g-c861aa48-a082-48ff-bc9d-ff36fe7aed38

访问密钥

AK (Access Key Id)

********

SK (Secret Access Key)

********

项目ID

所属区域

华北-北京一

项目

cn-north-1

项目ID

bd67aaead60940d688b872c31bdc663b

区域和Endpoint

区域名称

华北-北京一

Endpoint

dms-tcp.cn-north-1.myhuaweicloud.com:60010

分享:

    相关文档

    相关产品