云主机开年特惠28.8元/年,0元秒杀等你来抢!
查看详情

活动

天翼云最新优惠活动,涵盖免费试用,产品折扣等,助您降本增效!
热门活动
  • 安全隔离版OpenClaw NEW OpenClaw云服务器专属“龙虾“套餐低至1.5折起
  • 天翼云新春焕新季 NEW 云主机开年特惠28.8元/年,0元秒杀等你来抢!
  • 云上钜惠 爆款云主机全场特惠,2核4G只要1.8折起!
  • 中小企业服务商合作专区 国家云助力中小企业腾飞,高额上云补贴重磅上线
  • 出海产品促销专区 NEW 爆款云主机低至2折,高性价比,不限新老速来抢购!
  • 天翼云奖励推广计划 加入成为云推官,推荐新用户注册下单得现金奖励
免费活动
  • 免费试用中心 HOT 多款云产品免费试用,快来开启云上之旅
  • 天翼云用户体验官 NEW 您的洞察,重塑科技边界

息壤智算

领先开放的智算服务平台,提供算力、平台、数据、模型、应用“五位一体”智算服务体系,构建全流程的AI基础设施能力
AI Store
  • 算力市场
  • 模型市场
  • 应用市场
  • MCP市场
公共算力服务
  • 裸金属
  • 定制裸金属
训推服务
  • 模型开发
  • 训练任务
  • 服务部署
模型推理服务
  • 模型广场
  • 体验中心
  • 服务接入
应用托管
  • 应用实例
科研助手
  • 科研智能体
  • 科研服务
  • 开发机
  • 并行计算
大模型
  • DeepSeek-V3.1
  • DeepSeek-R1-0528
  • DeepSeek-V3-0324
  • Qwen3-235B-A22B
  • Qwen3-32B
智算一体机
  • 智算一体机
模型适配专家服务
  • 模型适配专家服务
算力服务商
  • 入驻算力服务商

应用商城

天翼云精选行业优秀合作伙伴及千余款商品,提供一站式云上应用服务
进入甄选商城进入云市场进入AI Store创新解决方案公有云生态专区智云上海应用生态专区
建站工具
  • 新域名服务
  • SSL证书
  • 翼建站
企业办公
  • 安全邮箱
  • WPS 365 天翼云版
  • 天翼企业云盘(标准服务版)
灾备迁移
  • 云管家2.0
  • 翼备份(SaaS版)

定价

协助您快速了解云产品计费模式、价格详情,轻松预估上云成本
价格计算器
  • 动态测算产品价格
定价策略
  • 快速了解计费模式

合作伙伴

天翼云携手合作伙伴,共创云上生态,合作共赢
天翼云生态合作中心
  • 天翼云生态合作中心
天翼云渠道合作伙伴
  • 天翼云代理渠道合作伙伴
天翼云服务合作伙伴
  • 天翼云集成商交付能力认证
天翼云应用合作伙伴
  • 天翼云云市场合作伙伴
  • 天翼云甄选商城合作伙伴
天翼云技术合作伙伴
  • 天翼云OpenAPI中心
天翼云培训认证
  • 天翼云学堂
  • 天翼云市场商学院
天翼云合作计划
  • 云汇计划
天翼信创云专区
  • 信创云专区
  • 适配互认证

开发者

开发者相关功能入口汇聚
技术社区
  • 专栏文章
  • 互动问答
  • 技术视频
资源与工具
  • OpenAPI中心
培训与认证
  • 天翼云学堂
  • 天翼云认证
开源社区
  • 魔乐社区
  • OpenTeleDB

支持与服务

为您提供全方位支持与服务,全流程技术保障,助您轻松上云,安全无忧
文档与工具
  • 文档中心
  • 新手上云
  • 自助服务
  • OpenAPI中心
定价
  • 价格计算器
  • 定价策略
基础服务
  • 售前咨询
  • 在线支持
  • 在线支持
  • 工单服务
  • 服务保障
  • 会员中心
增值服务
  • 红心服务
  • 首保服务
  • 客户支持计划
  • 专家技术服务
  • 备案管家
我要反馈
  • 建议与反馈
  • 用户体验官
信息公告
  • 客户公告

了解天翼云

天翼云秉承央企使命,致力于成为数字经济主力军,投身科技强国伟大事业,为用户提供安全、普惠云服务
品牌介绍
  • 关于天翼云
  • 智算云
  • 天翼云4.0
  • 新闻资讯
  • 天翼云APP
基础设施
  • 全球基础设施
  • 信任中心
最佳实践
  • 精选案例
  • 超级探访
  • 云杂志
  • 分析师和白皮书
  • 天翼云·创新直播间
市场活动
  • 2025智能云生态大会
  • 2024智算云生态大会
  • 2023云生态大会
  • 2022云生态大会
  • 天翼云中国行
天翼云
  • 活动
  • 息壤智算
  • 产品
  • 解决方案
  • 应用商城
  • 定价
  • 合作伙伴
  • 开发者
  • 支持与服务
  • 了解天翼云
      • 文档
      • 控制中心
      • 备案
      • 管理中心
      分布式关系型数据库_相关内容
      • 准备实例依赖资源
        准备资源 要求 创建指导 VPC和子网 不同的Kafka实例可以重复使用相同的VPC和子网,也可以使用不同的VPC和子网,请根据实际需要进行配置。 在创建VPC和子网时应注意如下要求: 创建的VPC与Kafka实例在相同的区域。 子网开启IPv6后,Kafka实例支持IPv6功能。Kafka实例开启IPv6后,客户端可以使用IPv6地址连接实例。 创建VPC和子网的操作指导请参考《虚拟私有云 用户指南》的 安全组 不同的Kafka实例可以重复使用相同的安全组,也可以使用不同的安全组,请根据实际需要进行配置。 在创建安全组时应注意如下要求: 创建安全组时,“模板”选择“自定义”。 使用Kafka实例前,添加下表中的安全组规则,其他规则请根据实际需要添加。 说明 创建安全组后,系统默认添加入方向“允许安全组内的弹性云主机彼此通信”规则和出方向“放通全部流量”规则,此时使用内网通过同一个VPC访问Kafka实例,无需添加下表中的规则。 创建安全组的操作指导请参考《虚拟私有云 用户指南》的 弹性IP地址 在创建弹性IP地址时,应注意如下要求: 创建的弹性IP地址与Kafka实例在相同的区域。 弹性IP地址的数量必须与Kafka实例的代理个数相同。 Kafka控制台无法识别开启IPv6转换功能的弹性IP地址。 创建弹性IP地址的操作指导请参考《弹性IP 用户指南》的“
        来自:
        帮助文档
        分布式消息服务Kafka
        用户指南
        准备实例依赖资源
      • DMS for Kafka资源
        本文主要介绍DMS for Kafka资源。 资源是服务中存在的对象。在DMS for Kafka中,资源包括:kafka,您可以在创建自定义策略时,通过指定资源路径来选择特定资源。 表 DMS for Kafka的指定资源与对应路径 指定资源 资源名称 资源路径 kafka 实例 【格式】DMS:::kafka:Instance ID 说明 对于实例资源,IAM自动生成资源路径前缀DMS:::kafka: 通过实例ID指定具体的资源路径,支持通配符。例如: DMS:::kafka:表示任意Kafka实例。
        来自:
        帮助文档
        分布式消息服务Kafka
        用户指南
        权限管理
        DMS for Kafka资源
      • 不使用SASL证书连接
        如需停止消费使用Ctrl+C命令退出。 后续步骤 您可以通过设置监控指标的告警规格,当实例、节点、队列等有异常时,可以及时接收异常信息。 步骤五:配置必须的监控告警
        来自:
        帮助文档
        分布式消息服务Kafka
        快速入门
        步骤四:连接实例生产消费消息
        不使用SASL证书连接
      • 步骤一:准备环境
        方向 协议 端口 源地址 说明 入方向 TCP 9094 0.0.0.0/0 通过公网访问Kafka实例(关闭SSL加密)。 入方向 TCP 9092 0.0.0.0/0 使用内网通过同一个VPC访问Kafka实例(关闭SSL加密)。 入方向 TCP 9095 0.0.0.0/0 通过公网访问Kafka实例(开启SSL加密)。 入方向 TCP 9093 0.0.0.0/0 使用内网通过同一个VPC访问Kafka实例(开启SSL加密)。 入方向 TCP 9999 0.0.0.0/0 访问Kafka Manager。 入方向 TCP 9011 0.0.0.0/0 使用DNAT访问Kafka实例(开启SSL加密和关闭SSL加密都适用)。
        来自:
        帮助文档
        分布式消息服务Kafka
        快速入门
        步骤一:准备环境
      • 连接类
        RabbitMQ专享实例是否支持公网访问? RabbitMQ专享实例支持公网访问。 在创建RabbitMQ实例时开启“公网访问”,或创建完后,在实例详情页中将公网访问开关打开。 RabbitMQ实例 是否支持跨Region部署 ? 当前支持跨AZ(可用区),不支持跨Region部署。 RabbitMQ实例 是否支持跨VPC访问 ? RabbitMQ实例支持跨VPC和子网访问,可以通过创建VPC对等连接,将两个VPC的网络打通,实现跨VPC访问实例。 RabbitMQ专享实例是否支持不同的子网 ? 支持。 客户端与实例在相同VPC内,可以跨子网段访问。同一个VPC内的子网默认可以进行通信。 客户端与实例在不同VPC时,可通过创建VPC对等连接,将两个VPC的网络打通,实现跨VPC访问实例。 此外,可以为实例绑定公网地址,客户端访问实例公网地址即可。 SSL方式连接RabbitMQ实例失败? 首先排查安全组的入方向规则,是否放开了端口5671(SSL方式访问)或5672(非SSL访问)。 其次,参考如下内容配置SSL单向认证: ConnectionFactory factory new ConnectionFactory(); factory.setHost(host); factory.setPort(port); factory.setUsername(user); factory.setPassword(password); factory.useSslProtocol(); Connection connection factory.newConnection(); Channel channel connection.createChannel(); 客户端是否可以通过DNAT方式访问RabbitMQ实例? 不可以。客户端可以使用代理、VPN、专线、FullNAT或者反向代理等方式访问RabbitMQ实例。 RabbitMQ实例的Web管理页面无法打开? 可能原因:实例安全组配置不正确。 解决方案:重新配置安全组,具体步骤如下。 1. 在实例详情页面的“基本信息 > 网络”,单击安全组名称,跳转到安全组页面。 2. 选择“入方向规则”,查看安全组入方向规则。 实例未开启SSL开关 如果是VPC内访问,实例安全组入方向规则,需要允许端口5672的访问。 如果是公网访问,需要允许端口15672的访问。 实例已开启SSL开关 如果是VPC内访问,实例安全组入方向规则,需要允许端口5671的访问。 如果是公网访问,需要运行端口15671的访问。
        来自:
        帮助文档
        分布式消息服务RabbitMQ
        常见问题
        连接类
      • 监控告警类
        本章节主要介绍监控告警类问题。 云监控无法展示RabbitMQ监控数据 监控数据无法展示,可能原因:队列名称开头包含特殊字符,例如点号“.”、下划线“”,建议删除带特殊字符的队列。 云监控显示通道数一直上升报警有影响吗? 一个连接最大通道数是2047,超过后再创建通道数会失败,建议排查是否为资源没有释放导致的。
        来自:
        帮助文档
        分布式消息服务RabbitMQ
        常见问题
        监控告警类
      • 调整资源配额
        本章节主要介绍如何调整资源配额。 什么是配额? 为防止资源滥用,平台限定了各服务资源的配额,对用户的资源数量和容量做了限制。如您最多可以创建多少个RabbitMQ实例。 如果当前资源配额限制无法满足使用需要,您可以申请扩大配额。 怎样查看我的配额? 1. 登录管理控制台。 2. 单击管理控制台右上角的,选择区域和项目。 3. 单击页面右上角的“My Quota”图标。系统进入“服务配额”页面。 4. 您可以在“服务配额”页面,查看各项资源的总配额及使用情况。 如果当前配额不能满足业务要求,请参考后续操作,申请扩大配额。 如何申请扩大配额? 1. 登录管理控制台。 2. 单击页面右上角的“My Quota”图标。系统进入“服务配额”页面。 3. 单击“申请扩大配额”。 4. 在“新建工单”页面,根据您的需求,填写相关参数。其中,“问题描述”项请填写需要调整的内容和申请原因。 5. 填写完毕后,勾选协议并单击“提交”。
        来自:
        帮助文档
        分布式消息服务RabbitMQ
        用户指南
        调整资源配额
      • 连接已开启SSL的RabbitMQ实例
        示例代码(Java) 连接实例并生产消息 ConnectionFactory factory new ConnectionFactory(); factory.setHost(host); factory.setPort(port); factory.setUsername(user); factory.setPassword(password); factory.useSslProtocol(); Connection connection factory.newConnection(); Channel channel connection.createChannel(); channel.queueDeclare(QUEUENAME, false, false, false, null); String message "Hello World!"; channel.basicPublish("", QUEUENAME, null, message.getBytes("UTF8")); System.out.println(" [x] Sent '" + message + "'"); channel.close(); connection.close(); 连接实例并消费消息 ConnectionFactory factory new ConnectionFactory(); factory.setHost(host); factory.setPort(port); factory.setUsername(user); factory.setPassword(password); factory.useSslProtocol(); Connection connection factory.newConnection(); Channel channel connection.createChannel(); channel.queueDeclare(QUEUENAME, false, false, false, null); System.out.println(" [] Waiting for messages. To exit press CTRL+C"); Consumer consumer new DefaultConsumer(channel) { @Override public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException { String message new String(body, "UTF8"); System.out.println(" [x] Received '" + message + "'"); } }; channel.basicConsume(QUEUENAME, true, consumer);
        来自:
        帮助文档
        分布式消息服务RabbitMQ
        用户指南
        连接实例
        连接已开启SSL的RabbitMQ实例
      • 支持的监控指标
        指标ID 指标名称 含义 取值范围 测量对象 监控周期(原始指标) cpuusage CPU利用率 该指标对于统计周期内的测量对象的CPU使用率进行多次采样,表示多次采样的最高值。单位:%。 0100% Redis实例(单机/主备/集群) 1分钟 memoryusage 内存利用率 该指标用于统计测量对象的内存利用率。单位:%。 0100% Redis实例(单机/主备/集群) 1分钟 netinthroughput 网络输入吞吐量 该指标用于统计网口平均每秒的输入流量。单位:byte/s。 > 0字节/秒 Redis实例(单机/主备/集群) 1分钟 netoutthroughput 网络输出吞吐量 该指标用于统计网口平均每秒的输出流量。单位:byte/s。 > 0字节/秒 Redis实例(单机/主备/集群) 1分钟 nodestatus 实例节点状态 实例节点状态,状态正常时为0,异常时为1 Redis实例(单机/主备/集群) 1分钟 connectedclients 活跃的客户端数量 该指标用于统计已连接的客户端数量,不包括来自从节点的连接。 >0 Redis实例(单机/主备/集群) 1分钟 clientlongestoutlist 客户端最长输出列表 该指标用于统计客户端所有现存连接的最长输出列表。 >0 Redis实例(单机/主备/集群) 1分钟 clientbiggestinbuf 客户端最大输入缓冲 该指标用于统计客户端所有现存连接的最大输入数据长度。单位:byte。 >0byte Redis实例(单机/主备/集群) 1分钟 blockedclients 阻塞的客户端数量 该指标用于被阻塞操作挂起的客户端的数量。阻塞操作如BLPOP,BRPOP,BRPOPLPUSH。 >0 Redis实例(单机/主备/集群) 1分钟 usedmemory 已用内存 该指标用于统计Redis已使用的内存字节数。单位:byte。 >0byte Redis实例(单机/主备/集群) 1分钟 usedmemoryrss 已用内存RSS 该指标用于统计Redis已使用的RSS内存。即实际驻留“在内存中”的内存数。包含和堆,但不包括换出的内存。单位:byte。 >0byte Redis实例(单机/主备/集群) 1分钟 usedmemorypeak 已用内存峰值 该指标用于统计Redis服务器启动以来使用内存的峰值。单位:byte。 >0byte Redis实例(单机/主备/集群) 1分钟 usedmemorylua Lua已用内存 该指标用于统计Lua引擎已使用的内存字节。单位:byte。 >0byte Redis实例(单机/主备/集群) 1分钟 memoryfragratio 内存碎片率 该指标用于统计当前的内存碎片率。其数值上等于usedmemoryrss / usedmemory。 >0 Redis实例(单机/主备/集群) 1分钟 totalconnectionsreceived 新建连接数 该指标用于统计周期内新建的连接数。 >0 Redis实例(单机/主备/集群) 1分钟 totalcommandsprocessed 处理的命令数 该指标用于统计周期内处理的命令数。 >0 Redis实例(单机/主备/集群) 1分钟 instantaneousops 每秒并发操作数 该指标用于统计每秒处理的命令数。 >0 Redis实例(单机/主备/集群) 1分钟 totalnetinputbytes 网络收到字节数 该指标用于统计周期内收到的字节数。单位:byte。 >0byte Redis实例(单机/主备/集群) 1分钟 totalnetoutputbytes 网络发送字节数 该指标用于统计周期内发送的字节数。单位:byte。 >0byte Redis实例(单机/主备/集群) 1分钟 instantaneousinputkbps 网络瞬时输入流量 该指标用于统计瞬时的输入流量。单位:kbit/s。 >0kbit/s Redis实例(单机/主备/集群) 1分钟 instantaneousoutputkbps 网络瞬时输出流量 该指标用于统计瞬时的输出流量。单位:kbit/s。 >0kbit/s Redis实例(单机/主备/集群) 1分钟 rejectedconnections 已拒绝的连接数 该指标用于统计周期内因为超过maxclients而拒绝的连接数量。 >0 Redis实例(单机/主备/集群) 1分钟 expiredkeys 已过期的键数量 该指标用于统计周期内因过期而被删除的键数量 >0 Redis实例(单机/主备/集群) 1分钟 evictedkeys 已逐出的键数量 该指标用于统计周期内因为内存不足被删除的键数量。 >0 Redis实例(单机/主备/集群) 1分钟 keyspacehits Keyspace命中次数 该指标用于统计周期内在主字典中查找命中次数。 >0 Redis实例(单机/主备/集群) 1分钟 keyspacemisses Keyspace错过次数 该指标用于统计周期内在主字典中查找不命中次数。 >0 Redis实例(单机/主备/集群) 1分钟 pubsubchannels Pubsub通道个数 该指标用于统计Pub/Sub通道个数。 >0 Redis实例(单机/主备/集群) 1分钟 pubsubpatterns Pubsub模式个数 该指标用于统计Pub/Sub模式个数。 >0 Redis实例(单机/主备/集群) 1分钟 keyspacehitsperc 缓存命中率 该指标用于统计Redis的缓存命中率,其命中率算法为:keyspacehits/(keyspacehits+keyspacemisses)单位:%。 0100% Redis实例(单机/主备/集群) 1分钟 commandmaxdelay 命令最大时延 统计实例的命令最大时延。单位为ms。 >0ms Redis实例(单机/主备/集群) 1分钟 autherrors 认证失败次数 统计实例的认证失败次数。 >0 Redis实例(单机/主备) 1分钟 isslowlogexist 是否存在慢日志 统计实例是否存在慢日志。说明该监控不统计由migrate、slaveof、config、bgsave、bgrewriteaof命令导致的慢日志。 l 1:表示存在l 0:表示不存在。 Redis实例(单机/主备) 1分钟 keys 缓存键总数 该指标用于统计Redis缓存中键总数。 >0 Redis实例(单机/主备) 1分钟
        来自:
        帮助文档
        分布式缓存服务Redis版
        用户指南
        监控
        支持的监控指标
      • Node.js Redis客户端
        客户端服务器为centos(redhat系列) 步骤 1 查看并获取待连接Redis实例的IP地址和端口。 具体步骤请参见查看实例信息。 步骤 2 登录弹性云主机。 步骤 3 安装Node.js。 yum install nodejs 如果以上命令安装不了,备选方式如下: wget nocheckcertificate tar xvf nodev0.12.4.tar.gz cd nodev0.12.4 ./configure make make install 说明 安装完成后,可执行node v查看Node.js的版本号,确认Node.js已安装成功。 安装完成后,可执行node v查看Node.js的版本号,确认Node.js已安装成功。 步骤 4 安装js包管理工具npm。 yum install npm 步骤 5 安装Node.js redis客户端ioredis。 npm install ioredis 步骤 6 编辑连接Redis实例的示例脚本。 编辑连接示例脚本ioredisdemo.js。示例脚本中增加以下内容,包括连接以及数据读取。 var Redis require('ioredis'); var redis new Redis({ port: 6379, // Redis port host: '192.168.0.196', // Redis host family: 4, // 4 (IPv4) or 6 (IPv6) password: '', db: 0 }); redis.set('foo', 'bar'); redis.get('foo', function (err, result) { console.log(result); }); // Or using a promise if the last argument isn't a function redis.get('foo').then(function (result) { console.log(result); }); // Arguments to commands are flattened, so the following are the same: redis.sadd('set', 1, 3, 5, 7); redis.sadd('set', [1, 3, 5, 7]); // All arguments are passed directly to the redis server: redis.set('key', 100, 'EX', 10); 其中,host 为Redis实例的IP地址,port为Redis实例的端口。IP地址和端口获取见步骤1,请按实际情况修改后执行。 为创建Redis实例时自定义的密码,请按实际情况修改后执行。 步骤 7 运行示例脚本,连接Redis实例。 node ioredisdemo.js
        来自:
        帮助文档
        分布式缓存服务Redis版
        快速入门
        连接实例
        多语言连接
        Node.js Redis客户端
      • 部分命令使用限制
        Lua脚本调试命令 Proxy集群和读写分离实例在执行Lua脚本调试命令时,仅支持异步非阻塞ldb模式,不支持同步阻塞ldbsyncmode。且每个Proxy节点默认限制并发2个。其他Redis实例类型无此限制。 其他限制 单个Redis命令处理时长限制为15秒左右,超过15秒未处理完,会导致客户的其它业务失败,因此内部会触发主从倒换。
        来自:
        帮助文档
        分布式缓存服务Redis版
        产品简介
        开源命令兼容性
        部分命令使用限制
      • 使用SSH隧道代理机制实现公网访问DCS实例
        公有云采用虚拟私有云(VPC)管理各服务的网络安全,比如DCS缓存服务,用户创建的DCS缓存实例,只允许被实例处于相同虚拟私有云的弹性云主机访问。 解决方案 天翼云的弹性云主机,如果绑定了弹性IP地址,用户可以从本地电脑远程访问。 因此,我们可以采用ssh工具的隧道代理机制,通过一台既能连接DCS缓存实例,又能被本地电脑访问的中转服务器,实现“代理转发”。 说明 Redis 4.0/5.0 Cluster集群实例暂不支持使用该方案进行公网访问。 前提条件 假设已申请DCS缓存实例一个,本地电脑可以连接互联网,且安装有MobaXterm、Redis客户端等工具。 申请一台弹性云主机(ECS),满足以下要求: 绑定弹性IP,公网可以访问ECS. ECS的虚拟私有云以及子网配置成与DCS缓存实例相同。 ECS配置正确的安全组访问规则。 为了方便,ECS使用linux操作系统。 这样保证ECS与DCS缓存实例网络互通,同时可以从本地电脑远程SSH连接ECS。 操作步骤 通过MobaXterm建立隧道作为跳板机 1.新建一个到ECS的SSH连接,使用22号端口。 图 连接ECS 2.SSH连接配置好后,输入登录用户和密码,连接上ECS。登录后输入TMOUT0,避免连接超时自动关闭。 图 输入TMOUT0 3.在MobaXterm工具中找到MobaSSHtunnal,建立隧道。 图 创建隧道 4.配置本地IP为127.0.0.1后,启动隧道。 图 启动隧道 5.本地电脑打开Redis客户端,以Redis命令行界面为例。连接DCS缓存实例,命令如下: Rediscli h 127.0.0.1 p 3306 a {password} 参数说明: h 主机名:localhost或者127.0.0.1,和隧道建立时配置的本地IP相同。 p 端口号:3306,和隧道建立时配置的本地侦听端口相同。 a 密码:DCS缓存实例连接密码。 6.连接成功,显示如下。 图 连接实例
        来自:
        帮助文档
        分布式缓存服务Redis版
        最佳实践
        使用SSH隧道代理机制实现公网访问DCS实例
      • 排查Redis实例带宽使用率高的问题
        5.1.3删除实例—部分更新
        来自:
        帮助文档
        分布式缓存服务Redis版
        故障排除
        排查Redis实例带宽使用率高的问题
      • 监控告警
        指标ID 指标名称 含义 取值范围 测量对象&维度 监控周期(原始指标) bandwidthusage 带宽使用率 当前流量带宽与最大带宽限制的百分比 0200% 测量对象:Redis 4.0/5.0主备实例数据节点Redis 4.0/5.0 Cluster集群实例数据节点测量维度:dcsclusternode 1分钟
        来自:
        帮助文档
        分布式缓存服务Redis版
        常见问题
        监控告警
      • 客户端和网络连接
        进阶排查 Jedis连接池报错 出现Read timed out 或Could not get a resource from the pool 排查是否使用了keys命令,keys命令会消耗大量资源,造成Redis阻塞。建议使用scan命令替代,且避免频繁执行。 使用短连接访问Redis出现“Cannot assign requested address”错误 问题描述 应用程序通过短连接访问Redis实例时,报错:Cannot assign requested address。 问题分析 出现这种错误的应用程序使用的架构基本都是phpfpm加上phpredis,这种架构在并发量较大的情况下,处于TIMEWAIT状态下的TCP连接数较多,客户端无法分配出新的端口,则会出现“Cannot assign requested address”问题。 处理方案 方案一:使用pconnect替换connect。 此方案的思路是用长连接替代短连接,减少TCP连接,同时可以避免每次请求都会重新建立连接的问题,减少延时。 之前连接Redis的代码如下: $redis>connect('${Hostname}',${Port}); $redis>auth('${InstPassword}'); 现使用pconnect替换connect,即使用persistent connection的方式连接。 $redis>pconnect('${Hostname}', ${Port}, 0, NULL, 0, 0, ['auth' > ['${InstPassword}']]); 说明 示例中的连接参数请根据业务实现情况修改,${Hostname}、${Port}和${InstPassword}为Redis实例的连接地址、端口号和密码。 PhpRedis应为5.3.0及以上版本,且建议使用这种pconnect初始化方式,避免断连时出现no auth问题。 方案二:修改客户端所在ECS实例的tcpmaxtwbuckets内核参数。 此方案的思路是直接复用处于TIMEWAIT状态的端口,但是如果ECS和后端服务之间有重传,连接可能会失败,所以建议使用pconnect的方案。 a. 连接客户端所在ECS实例。 b. 执行以下命令,查看iplocalportrange和tcpmaxtwbuckets参数。 sysctl net.ipv4.tcpmaxtwbuckets net.ipv4.iplocalportrange 系统显示类似如下: net.ipv4.tcpmaxtwbuckets 262144 net.ipv4.iplocalportrange 32768 61000 c. 执行以下命令,修改tcpmaxtwbuckets参数,确保tcpmaxtwbuckets的值比iplocalportrange范围的值小。 sysctl w net.ipv4.tcpmaxtwbuckets10000 一般情况推荐使用方案一,对于一些特定场景(业务代码牵涉过多组件不易变更等场景),需要更快的满足高并发,可以使用方案二
        来自:
        帮助文档
        分布式缓存服务Redis版
        常见问题
        客户端和网络连接
      • Redis主备实例
        本章节主要介绍Redis缓存类型的主备实例。 DCS Redis缓存类型都支持主备实例,本章节主要介绍Redis缓存类型的主备实例,有四个版本选择,Redis3.0、Redis4.0、Redis5.0和Redis6.0。 主备实例特点 DCS的主备实例在单机实例基础上,增强服务高可用以及数据高可靠性。 主备实例具有以下特性: 1.持久化,确保数据高可靠 实例默认包含一个主节点和一个备节点,都默认开启数据持久化。 Redis主备实例的备节点对用户不可见,不支持客户端直接读写数据。 2.数据同步 主备节点通过增量数据同步的方式保持缓存数据一致。 说明 当网络发生异常或有节点故障时,主备实例会在故障恢复后进行一次全量同步,保持数据一致性。 3.故障后自动切换主节点,服务高可用 当主节点故障后,连接会有秒级中断、不可用,备节点在30秒内自动完成主备切换,切换完成后恢复正常访问,无需用户操作,业务平稳运行。 4.容灾策略 跨AZ部署(可用区):DCS支持将主备实例的主备副本部署在不同的AZ内,节点间电力与网络均物理隔离。您可以将应用程序也进行跨AZ部署,从而达到数据与应用全部高可用。 Redis 3.0实例架构设计 DCS的Redis主备实例架构,如下图所示。 主备实例示意图 示意图说明: VPC 虚拟私有云。实例的内部所有服务器节点,都运行在相同VPC中。 说明 VPC内访问,客户端需要与主备实例处于相同VPC,并且配置安全组访问规则。 客户应用 运行在ECS上的客户应用程序,即Redis的客户端。 Redis实例兼容开源协议,可直接使用开源客户端进行连接,关于客户端连接示例,请参考连接实例。 DCS缓存实例 DCS主备实例包含了Master和Slave两个节点。默认开启数据持久化功能,同时保持节点间数据同步。 DCS实时探测实例可用性,当主节点故障后,备节点升级为主节点,恢复业务。 Redis 3.0的访问端口默认为6379,不支持定义端口。
        来自:
        帮助文档
        分布式缓存服务Redis版
        产品简介
        实例类型
        Redis主备实例
      • 备份与恢复说明
        关于数据恢复 数据恢复流程 a. 您通过控制台发起数据恢复请求。 b. DCS从对象存储服务(OBS)获取数据备份文件。 c. 暂停实例数据读写服务。 d. 替换主实例的持久化文件。 e. 重新加载新的持久化文件。 f. 完成数据恢复,对外提供数据读写服务。 数据恢复对业务系统的影响 恢复操作是将备份文件在主节点执行,实例数据恢复期间需暂停数据读写服务,直到主实例完成数据恢复。 数据恢复异常处理 数据恢复文件如果被损坏,DCS在恢复过程中会尝试修复。修复成功则继续进行数据恢复,修复失败,DCS主备实例会将实例还原到执行恢复前的状态。
        来自:
        帮助文档
        分布式缓存服务Redis版
        用户指南
        实例备份恢复管理
        备份与恢复说明
      • 查询Redis实例慢查询
        慢查询是Redis用于记录命令执行时间过长请求的机制。您可以在DCS控制台查看慢请求日志,帮助解决性能问题。 慢查询是Redis用于记录命令执行时间过长请求的机制。您可以在DCS控制台查看慢请求日志,帮助解决性能问题。 查询结果中,涉及的慢语句命令详情,请前往Redis官方网站查看。 慢查询结果由实例两个配置参数决定,如下: slowloglogslowerthan:如果在Redis实例的数据节点中执行一个命令,执行时间超过了slowloglogslowerthan参数设置的阈值(单位为微秒),则会被记录到慢查询中。该参数的默认值为10000,即10ms,当Redis命令执行时间超过10ms,则生成慢查询。 slowlogmaxlen:Redis记录的慢查询个数由slowlogmaxlen参数的值决定,默认值为128个。当慢查询个数超过128时,会将旧的慢查询删除,记录新的慢查询。 实例配置参数的修改以及参数解释,请参考修改实例配置参数。 控制台查看慢查询 步骤 1 单击左侧菜单栏的“缓存管理”。进入缓存管理页面。 步骤 2 单击需要进行慢查询的DCS缓存实例名称,进入该实例的基本信息页面。 步骤 3 单击“慢查询”。 步骤 4 设置查询时间,查看慢查询记录。 说明 如果您想了解返回查询结果中慢语句命令详情,请前往
        来自:
        帮助文档
        分布式缓存服务Redis版
        用户指南
        实例配置管理
        查询Redis实例慢查询
      • SpringBoot集成Lettuce
        本章介绍使用同一VPC内弹性云主机ECS上的SpringBoot集成Lettuce实例的方法。 前提条件 已成功申请Redis实例,且状态为“运行中”。 已创建弹性云主机,创建弹性云主机的方法,请参见《弹性云主机用户指南》。 如果弹性云主机为Linux系统,该弹性云主机必须已经安装java编译环境。 操作步骤 步骤 1 查看并获取待连接Redis实例的IP地址和端口。 具体步骤请参见查看实例信息。 步骤 2 登录弹性云主机。 步骤 3 首先使用maven在pom.xml添加如下依赖。 说明 SpringBoot从2.0起默认使用lettuce客户端进行连接。 此次使用的版本:springboot:2.6.6,lettuce:6.1.8。 org.springframework.boot springbootstarterweb org.springframework.boot springbootstarterdataredis 步骤 4 使用SpringBoot集成Lettuce连接实例。 Springboot+Lettuce单连方式连接Redis单机/主备/Proxy集群示例。 a. 在application.properties配置文件中加上redis相关配置。 spring.redis.hosthost spring.redis.database0 spring.redis.passwordpwd spring.redis.portport b. Redis配置类RedisConfiguration。 @Bean public RedisTemplate redisTemplate(LettuceConnectionFactory lettuceConnectionFactory) { RedisTemplate template new RedisTemplate<>(); template.setConnectionFactory(lettuceConnectionFactory); //使用Jackson2JsonRedisSerializer替换默认的JdkSerializationRedisSerializer来序列化和反序列化redis的value值 Jackson2JsonRedisSerializer jackson2JsonRedisSerializer new Jackson2JsonRedisSerializer<>(Object.class); ObjectMapper mapper new ObjectMapper(); mapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); mapper.activateDefaultTyping(LaissezFaireSubTypeValidator.instance, ObjectMapper.DefaultTyping.NONFINAL, JsonTypeInfo.As.PROPERTY); jackson2JsonRedisSerializer.setObjectMapper(mapper); StringRedisSerializer stringRedisSerializer new StringRedisSerializer(); //key采用String的序列化方式 template.setKeySerializer(stringRedisSerializer); // hash的key也采用String的序列化方式 template.setHashKeySerializer(stringRedisSerializer); // value序列化方式采用jackson template.setValueSerializer(jackson2JsonRedisSerializer); // hash的value序列化方式采用jackson template.setHashValueSerializer(jackson2JsonRedisSerializer); template.afterPropertiesSet(); return template; } c. Redis操作类RedisUtil。 / 普通缓存获取 @param key 键 @return 值 / public Object get(String key){ return keynull?null:redisTemplate.opsForValue().get(key); } / 普通缓存放入 @param key 键 @param value 值 @return true成功 false失败 / public boolean set(String key,Object value) { try { redisTemplate.opsForValue().set(key, value); return true; } catch (Exception e) { e.printStackTrace(); return false; } } d. 编写controller类进行测试。 @RestController public class HelloRedis { @Autowired RedisUtil redisUtil; @RequestMapping("/setParams") @ResponseBody public String setParams(String name) { redisUtil.set("name", name); return "success"; } @RequestMapping("/getParams") @ResponseBody public String getParams(String name) { System.out.println("" + name + ""); String retName redisUtil.get(name) + ""; return retName; } } SpringBoot+Lettuce连接池方式连接Redis单机/主备/Proxy集群示例。 e. 在以上maven依赖的基础上添加以下依赖。 org.apache.commons commonspool2 f. 在application.properties配置文件中加上redis相关配置。 spring.redis.hosthost spring.redis.database0 spring.redis.passwordpwd spring.redis.portport
        来自:
        帮助文档
        分布式缓存服务Redis版
        快速入门
        连接实例
        多语言连接
        SpringBoot集成Lettuce
      • 准备实例依赖资源
        创建安全组 说明 仅Redis 3.0实例需要安全组。 步骤 1 登录虚拟私有云管理控制台。 步骤 2在左侧导航选择“访问控制 > 安全组”,单击“创建安全组”。根据界面提示创建安全组。如无特殊需求,界面参数均可保持默认。 创建安全组时,“模板”选择“自定义”。 安全组创建后,请保留系统默认添加的入方向“允许安全组内的弹性云主机彼此通信”规则和出方向“放通全部流量”规则。 使用DCS服务要求必须添加下表所示安全组规则,其他规则请根据实际需要添加。 表 安全组规则 方向 协议 端口 源地址 说明 入方向 TCP 6379 0.0.0.0/0 通过内网访问Redis 3.0。 结束 申请弹性公网IP(可选) 说明 仅创建Redis 3.0实例,且需要通过公网访问DCS时,需要申请弹性公网IP,否则不需要申请弹性公网IP。 步骤 1 登录管理控制台。 步骤 2 单击页面上方的“服务列表”,选择“网络 > 弹性公网IP”。 步骤 3 单击“购买弹性IP”。 结束
        来自:
        帮助文档
        分布式缓存服务Redis版
        快速入门
        创建实例
        准备实例依赖资源
      • PHP客户端
        Predis 介绍使用同一VPC内弹性云主机ECS上的Predis连接Redis的方法。更多的客户端的使用方法请参考Redis客户端。 前提条件 已成功申请Redis实例,且状态为“运行中”。 已创建弹性云主机,创建弹性云主机的方法,请参见《弹性云主机用户指南》。 如果弹性云主机为Linux系统,该弹性云主机必须已经安装php编译环境。 操作步骤 步骤 1 查看并获取待连接Redis实例的IP地址和端口。 具体步骤请参见查看实例信息。 步骤 2 登录弹性云主机。 步骤 3 安装php开发包与命令行工具。执行如下命令,使用yum方式直接安装。 yum install phpdevel phpcommon phpcli 步骤 4 安装完后可查看版本号,确认成功安装。 php version 步骤 5 将Predis包下载到/usr/share/php目录下。 1. 通过以下命令下载Predis源文件。 wget 说明 仅以该版本作为示例,您还可以去redis官网或者php官网下载其他版本的predis客户端。 2. 解压Predis源文件包。 tar zxvf predis1.1.10.tar.gz 3. 将解压好的predis目录重命名为“predis”,并移动到/usr/share/php/下。 mv predis1.1.10 predis 步骤 6 编辑一个文件连接redis。 使用redis.php文件连接Redis单机/主备/Proxy集群示例: 'tcp' , 'host' > '{redisinstanceaddress}' , 'port' > {port} , 'password' > '{password}' ]); $client>set('foo', 'bar'); $value $client>get('foo'); echo $value; ?> 使用rediscluster.php连接Redis Cluster集群代码示例: 'redis'); $client new PredisClient($servers, $options); $client>set('foo', 'bar'); $value $client>get('foo'); echo $value; ?> 其中, {redisinstanceaddress} 为Redis实例真实的IP地址, {port} 为Redis实例真实的端口。IP地址和端口获取见步骤1,请按实际情况修改后执行。 {password} 为创建Redis实例时自定义的密码,请按实际情况修改后执行。如果免密访问,请将password行去掉。 步骤 7 执行php redis.php连接Redis实例。
        来自:
        帮助文档
        分布式缓存服务Redis版
        快速入门
        连接实例
        多语言连接
        PHP客户端
      • Redis版本差异
        本章节会介绍Redis版本间的主要差异。 DCS在创建实例时,Redis可选择“版本号”、“实例类型”。 版本号 版本号共有3.0,4.0,5.0,6.0版本可以选择,它们的区别如下。 不同版本支持的特性、性能差异说明 比较项 Redis 3.0 Redis 4.0 & Redis 5.0 Redis 6.0 兼容开源版本 Redis 3.0兼容开源3.0.7版本 Redis 4.0兼容开源4.0.14版本,Redis 5.0兼容开源5.0.14版本 Redis 6.0兼容开源6.2.7版本 实例部署模式 采用虚机部署 在物理机上容器化部署 在物理机上容器化部署 创建实例耗时 315分钟,集群约1030分钟 约8秒 约8秒 QPS 单节点约10万QPS 单节点约10万QPS 单节点约10万QPS 可视化数据管理 不支持 提供Web CLI访问Redis,管理数据 提供Web CLI访问Redis,管理数据 实例类型 支持单机、主备、Proxy集群 支持单机、主备、Proxy集群、Cluster集群、读写分离 支持单机、主备 扩容/缩容 支持在线扩容和缩容 支持在线扩容和缩容 支持在线扩容和缩容 备份恢复 主备和集群实例支持 主备、读写分离和集群实例支持 主备实例支持 说明 由于Redis不同版本的底层架构不一样,在创建Redis实例时,确定Redis版本后,将不能修改,如Redis3.0暂不支持升级到Redis4.0或者Redis5.0。如果需要由低版本升级到高版本,建议重新创建高版本实例,然后进行数据迁移。 由于Redis不同版本的底层架构不一样,在创建Redis实例时,确定Redis版本后,将不能修改,如Redis3.0暂不支持升级到Redis4.0或者Redis5.0。如果需要由低版本升级到高版本,建议重新创建高版本实例,然后进行数据迁移。 实例类型 实例类型分为单机、主备、集群和读写分离,它们的架构与应用场景,请参考实例类型章节。
        来自:
        帮助文档
        分布式缓存服务Redis版
        产品简介
        Redis版本差异
      • Web CLI命令
        Keys String List Set Sorted Set Server DEL APPEND RPUSH SADD ZADD FLUSHALL OBJECT BITCOUNT RPUSHX SCARD ZCARD FLUSHDB EXISTS BITOP BRPOPLRUSH SDIFF ZCOUNT DBSIZE EXPIRE BITPOS LINDEX SDIFFSTORE ZINCRBY TIME MOVE DECR LINSERT SINTER ZRANGE INFO PERSIST DECRBY LLEN SINTERSTORE ZRANGEBYSCORE CLIENT KILL PTTL GET LPOP SISMEMBER ZRANK CLIENT LIST RANDOMKEY GETRANGE LPUSHX SMEMBERS ZREMRANGEBYRANK CLIENT GETNAME RENAME GETSET LRANGE SMOVE ZREMRANGEBYCORE CLIENT SETNAME RENAMENX INCR LREM SPOP ZREVRANGE CONFIG GET SCAN INCRBY LSET SRANDMEMBER ZREVRANGEBYSCORE SLOWLOG SORT INCRBYFLOAT LTRIM SREM ZREVRANK ROLE TTL MGET RPOP SUNION ZSCORE SWAPDB TYPE MSET RPOPLPU SUNIONSTORE ZUNIONSTORE MEMORY MSETNX RPOPLPUSH SSCAN ZINTERSTORE PSETEX ZSCAN SET ZRANGEBYLEX SETBIT ZLEXCOUNT SETEX SETNX SETRANGE STRLEN BITFIELD
        来自:
        帮助文档
        分布式缓存服务Redis版
        产品简介
        开源命令兼容性
        Web CLI命令
      • 读写分离实例
        本章节主要介绍DCS服务的Redis 4.0/5.0版本的读写分离实例,读写分离实例默认为从服务端侧实现的读写分离,通过Proxy节点识别用户读写请求,如果是写请求,则转发给主节点,如果是读请求,则转发给备节点。 读写分离主要适用于读高并发、写请求较少的业务场景,解决高并发的性能问题,节约运维成本。 说明 读写分离功能,仅在部分Region支持,具体请以控制台显示为准。 读写分离实例 实例示意图说明: 终端节点服务 终端节点服务,主要是将Redis缓存实例配置为VPC终端节点支持的服务,用户可以直接通过终端节点服务的地址访问。 Redis读写分离实例提供的IP地址和域名,即为终端节点服务的地址。 ELB 弹性负载均衡服务器,采用集群高可用方式,支持多可用区部署。 Proxy 代理服务器集群。通过Proxy节点识别用户读写请求,如果是写请求,则转发给主节点,如果是读请求,则转发给备节点,不需要用户在客户端做任何配置。 Sentinel集群 监控主备节点状态,当主节点出现故障或异常时,进行主备倒换,保证服务不中断。 主备实例 读写分离实例,后端是一个主备实例,包含了主和备两个节点。默认开启数据持久化功能,同时保持节点间数据同步。 主备节点支持跨可用区部署。
        来自:
        帮助文档
        分布式缓存服务Redis版
        产品简介
        实例类型
        读写分离实例
      • 业务消息设计:Topic与Tag
        Topic与Tag释义 1)Topic:消息主题,通过Topic对不同的业务消息进行分类。 2)Tag:消息标签,用来进一步区分某个Topic下的消息分类,消息队列RocketMQ允许消费者按照Tag对消息进行过滤,确保消费者最终只消费到他关注的消息类型。 Topic与Tag都是业务上用来归类的标识,区分在于Topic是一级分类,而Tag可以说是二级分类。 适用场景 什么时候该用Topic,什么时候该用Tag,可以参考下面的一些考虑进行权衡: 考虑消息类型:如普通消息、顺序消息,事务消息、定时(延时)消息,不同消息类型是无法通过Tag区分的,这种情况就需要我们创建不同的Topic。 业务关联性:如果是不同业务之间没有直关联的消息,建议按照Topic进行区分;而同一个业务只是子类型不一样的消息可以用Tag进行区分。 消息优先级:不同的业务场景可能会导致消费端对于消息的优先级需求不同,有的紧急,有的相对来说对于延时的接收程度更大,不同优先级的消息用不同的Topic进行区分。 消息量级:如果量小但延时要求高的消息,跟超大量级(如万亿)的消息使用同一个Topic,则有可能排队时间过长导致延时无法接受,所以不同量级的消息不要使用不同的Tag,需要用不同的Topic。 总结起来就是,在消息分类实践中,有创建多个Topic,以及在同一个Topic下创建多个Tag两种常见做法。一般来说,不同的Topic之间的消息不产生直接业务上的关联,而同一个Topic下相互之间产生联系的消息可以选择用Tag来区分,一般是相同业务下的不同板块不同类型。
        来自:
        帮助文档
        分布式消息服务RocketMQ
        最佳实践
        业务消息设计:Topic与Tag
      • 消费幂等
        RocketMQ无法避免消息重复,原因主要有以下几点: 签收的偏移量是定时(每5秒/次)同步到服务端的。 为保证消息不丢失,SDK每次提交的总是队列未签收的最小偏移量(比如无序消费,offset为1、2、3、4、5 的消息,1、3、4、5消费并已签收,2未签收,签收时最后提交的偏移量将会是2,如果此时客户端重启,会从2这个位置开始消费)。 有网络交互就不能确保每一次的交互数据都是送达的,为保证数据不丢失就要进行重试,有重试就存在重复的可能。 如果业务对消费重复非常敏感,务必要注意,建议可以采用以下两种方式处理: 业务层面可以根据msgId做去重处理,如果key字段为业务唯一字段,也可采用key去重。 业务逻辑实现消费幂等,即多次处理同一消息,对业务的影响是幂等的。
        来自:
        帮助文档
        分布式消息服务RocketMQ
        最佳实践
        消费幂等
      • API(1)
        API
        来自:
      • Java客户端Pull和Push的选择
        Java客户端必须使用Push Consumer 使用Pull可以实现的所有场景,均可使用Push实现,并且更简单。 Push其实是长轮询的Pull(依然是由客户端发起),在客户端通过配置参数是可以实现流控的,并不会出现服务端的流量压垮客户端的情况。 Push封装了拉取消息,分发给消费线程的线程模型,非流控的情况下,由后台线程主动拉取消息,并缓存在本地,消费线程池有空闲线程时,分发给消费线程,在有堆积量的情况下,可以保证消费线程一直工作,性能更高(备注:Pull只提供了拉取消息的功能,并且何时去拉取,拉取时机,这些都需要应用去控制;分发给消费线程的逻辑需要应用封装,除了增加应用工作量外,还可能有不稳定、性能问题等)。 Push经过多个大型项目的长时间的使用,更成熟稳定。 Push会自动订阅重试队列,不需要再次调用拉取重试队列的API来取得重试队列的消息(备注:Pull需要另外调用API拉取重试队列的消息)。 Pull是一种遗留的消费模式(兼容早期的API),新开发的应用,或者未上线的应用,都要求使用Push消费模式。
        来自:
        帮助文档
        分布式消息服务RocketMQ
        最佳实践
        Java客户端Pull和Push的选择
      • 虚拟主机限制管理
        本节介绍了在RabbitMQ实例中如何创建、修改和删除虚拟主机限制策略。 背景信息 RabbitMQ虚拟主机限制管理是一种用于管理RabbitMQ虚拟主机的功能,它允许管理员对虚拟主机的资源和权限进行限制和管理。 虚拟主机是RabbitMQ中的逻辑隔离单位,它允许在同一台RabbitMQ服务器上创建多个独立的消息队列环境。每个虚拟主机都有自己的队列、交换机、绑定和权限设置。通过虚拟主机限制管理,管理员可以对RabbitMQ服务器上的虚拟主机进行细粒度的控制和管理。这有助于确保不同的应用程序或用户之间的隔离性、安全性和资源利用率,提高整个消息队列系统的可靠性和性能。 操作步骤 1.登录管理控制台。 2.进入RabbitMQ管理控制台。 3.在实例列表页在操作列,目标实例行点击“管理”。 4.点击“集群管理”后点击“虚拟主机限制”到达虚拟主机页面,点击“新建”按钮。 5.点击“新建”后出现以下界面,选择虚拟主机,添加限制策略内容。 限制项参数 说明 maxconnections 最大TCP连接。 maxqueues 最大队列数。 6.在目标虚拟主机限制行点击“删除”或“修改”,即可删除当前虚拟主机策略。
        来自:
        帮助文档
        分布式消息服务RabbitMQ
        用户指南
        虚拟主机管理
        虚拟主机限制管理
      • 仪表盘
        如何通过仪表盘发现问题 以下指标是最基础也是最重要的指标,用于快速判断RabbitMQ实例健康状况。 指标1:可消费消息数 (Ready Messages) 正常情况:这个数值应该保持在一个相对稳定的水平,或者有轻微波动。 异常情况 :如果这个数值持续快速增长 ,通常意味着生产速度远大于消费速度 ,消费者处理能力不足、数量不够,或者出现了故障。这是消息堆积的直接体现。 指标2:连接数 (Connections) 正常情况:连接数应与系统设计的客户端数量匹配。 异常情况1 :连接数过多 :可能导致服务器资源(内存、文件描述符)耗尽,影响性能甚至崩溃。这通常是由于客户端没有正确关闭连接(连接泄漏)。 异常情况2:连接数骤降:可能表示大量客户端离线或网络中断。 指标3:信道数 (Channels) 正常情况:信道数通常远大于连接数。 异常情况1 :信道数过多:即使连接数不多,过多的信道也会增加服务器的内存消耗和管理负担。 异常情况2:信道数与连接数比例异常:如果每个连接只使用一个信道,可能没有充分利用 TCP 连接的多路复用优势。 指标4:消费者数(Consumers) 正常情况:消费者数量应足以处理预期的消息流量。 异常情况1 :消费者数为零:对于需要即时处理的队列来说是严重问题,会导致消息堆积。 异常情况2:消费者数不足:会导致消息处理缓慢,Ready 消息数增长。 异常情况3:消费者数过多:可能导致资源竞争,反而降低整体效率,需要根据实际情况进行压测和调优。
        来自:
        帮助文档
        分布式消息服务RabbitMQ
        用户指南
        仪表盘
      • 接入方式
        本节介绍了RabbitMQ 接入方式。 安全接入点 RabbitMQ 安全接入点支持 "PLAIN"、"AMQPLAIN" 授权机制。 1、访问控制 RabbitMQ "PLAIN"、"AMQPLAIN"授权机制需要创建用户,从而获得对应虚拟主机的访问权限。 2、接入步骤 (1)新建用户(集群管理>用户>新建用户) (2)运行demo 客户端关键参数设置 "PLAIN"、"AMQPLAIN" 授权机制的客户端关键参数配置 String host "192.168.0.0"; //安全接入点ip Integer port 5672; //安全接入点port String username "xxx"; //集群管理用户列表的用户名 String password "xxx"; String vhost "/"; ConnectionFactory connectionFactory new ConnectionFactory(); connectionFactory.setHost(host); connectionFactory.setPort(port); connectionFactory.setUsername(username); connectionFactory.setPassword(password); connectionFactory.setVirtualHost(vhost); SSL接入点 RabbitMQ 安全接入点支持 "EXTERNAL" 授权机制 1、访问控制 无 2、接入步骤 (1)下载SSL证书(实例概览>导出服务>下载SSL文件) (2)运行demo 客户端关键参数设置 "EXTERNAL" 授权机制的客户端关键参数配置 java String host "192.168.0.0"; //SSL接入点ip int port 5671; //SSL接入点port //以下2个ssl文件可通过控制台获取安装包, 具体的获取方式可以查看2.2.1接入步骤的第二小节 String ksFile "D:tmpsslclientrabbitmqkey.p12"; String tksFile "D:tmpssltruststore"; String vhost "/"; char[] keyPassphrase "W3zT98Zz9Io".toCharArray(); KeyStore ks KeyStore.getInstance("PKCS12"); ks.load(new FileInputStream(ksFile), keyPassphrase); KeyManagerFactory kmf KeyManagerFactory.getInstance("SunX509"); kmf.init(ks, keyPassphrase); char[] trustPassphrase null; trustPassphrase "W3zT98Zz9Io".toCharArray(); KeyStore tks KeyStore.getInstance("JKS"); tks.load(new FileInputStream(tksFile), trustPassphrase); TrustManagerFactory tmf TrustManagerFactory.getInstance("SunX509"); tmf.init(tks); SSLContext c SSLContext.getInstance("tlsv1.2"); c.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null); ConnectionFactory connectionFactory new ConnectionFactory(); connectionFactory.setHost(host); connectionFactory.setPort(port); connectionFactory.setVirtualHost(vhost); connectionFactory.setSaslConfig(DefaultSaslConfig.EXTERNAL); connectionFactory.useSslProtocol(c);
        来自:
        帮助文档
        分布式消息服务RabbitMQ
        最佳实践
        RabbitMQ接入
        接入方式
      • 代码示例
        本节介绍了RabbitMQ接入的代码示例。 安全接入点(PLAIN、AMQPLAIN授权机制) java import com.rabbitmq.client.; import java.io.IOException; public class RabbitmqAmqpDemo { public static void main(String[] args) throws Exception { String host "192.168.0.0"; //安全接入点ip Integer port 5672; //安全接入点port String username "xxx"; //集群管理用户列表的用户名 String password "xxx"; //集群管理用户列表的密码 String vhost "/"; String exchangeName "extest"; String queueName "qutest"; ConnectionFactory connectionFactory new ConnectionFactory(); connectionFactory.setHost(host); connectionFactory.setPort(port); connectionFactory.setUsername(username); connectionFactory.setPassword(password); connectionFactory.setVirtualHost(vhost); Connection connection connectionFactory.newConnection(); Channel channel connection.createChannel(); channel.exchangeDeclare(exchangeName, BuiltinExchangeType.DIRECT, true); channel.queueDeclare(queueName, true, false, false, null); channel.queueBind(queueName, exchangeName, "test"); String message "Hello Aop"; for (int i 0; i < 10; i++) { channel.basicPublish(exchangeName, "test", null, message.getBytes()); System.out.println("消息发送成功"); } Channel consumeChannel connection.createChannel(); Consumer consumer new DefaultConsumer(consumeChannel) { @Override public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException { String messageGet new String(body, "UTF8"); if (messageGet.equals(message)) { System.out.println("消息消费成功"); } } }; consumeChannel.setDefaultConsumer(consumer); consumeChannel.basicConsume(queueName, false, consumer); Thread.sleep(10000); } } SSL接入点(EXTERNAL授权机制) java import com.rabbitmq.client.; import javax.net.ssl.KeyManagerFactory; import javax.net.ssl.SSLContext; import javax.net.ssl.TrustManagerFactory; import java.io.FileInputStream; import java.io.IOException; import java.security.KeyStore; public class RabbitmqExternalDemo { public static void main(String[] args) throws Exception { String host "192.168.0.0"; //SSL接入点ip int port 5671; //SSL接入点port //以下2个ssl文件可通过控制台获取安装包, 具体的获取方式可以查看2.2.1接入步骤的第二小节 String ksFile "D:tmpsslclientrabbitmqkey.p12"; String tksFile "D:tmpssltruststore"; String vhost "/"; String exchangeName "extest"; String queueName "qutest"; char[] keyPassphrase "W3zT98Zz9Io".toCharArray(); KeyStore ks KeyStore.getInstance("PKCS12"); ks.load(new FileInputStream(ksFile), keyPassphrase); KeyManagerFactory kmf KeyManagerFactory.getInstance("SunX509"); kmf.init(ks, keyPassphrase); char[] trustPassphrase null; trustPassphrase "W3zT98Zz9Io".toCharArray(); KeyStore tks KeyStore.getInstance("JKS"); tks.load(new FileInputStream(tksFile), trustPassphrase); TrustManagerFactory tmf TrustManagerFactory.getInstance("SunX509"); tmf.init(tks); SSLContext c SSLContext.getInstance("tlsv1.2"); c.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null); ConnectionFactory connectionFactory new ConnectionFactory(); connectionFactory.setHost(host); connectionFactory.setPort(port); connectionFactory.setVirtualHost(vhost); connectionFactory.setSaslConfig(DefaultSaslConfig.EXTERNAL); connectionFactory.useSslProtocol(c); Connection connection connectionFactory.newConnection(); Channel channel connection.createChannel(); channel.exchangeDeclare(exchangeName, BuiltinExchangeType.DIRECT, true); channel.queueDeclare(queueName, true, false, false, null); channel.queueBind(queueName, exchangeName, "test"); String message "Hello Aop"; for (int i 0; i < 10; i++) { channel.basicPublish(exchangeName, "test", null, message.getBytes()); System.out.println("消息发送成功"); } Channel consumeChannel connection.createChannel(); Consumer consumer new DefaultConsumer(consumeChannel) { @Override public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException { String messageGet new String(body, "UTF8"); if (messageGet.equals(message)) { System.out.println("消息消费成功"); } } }; consumeChannel.setDefaultConsumer(consumer); consumeChannel.basicConsume(queueName, false, consumer); Thread.sleep(10000); } }
        来自:
        帮助文档
        分布式消息服务RabbitMQ
        最佳实践
        RabbitMQ接入
        代码示例
      • 1
      • ...
      • 280
      • 281
      • 282
      • 283
      • 284
      • ...
      • 290
      跳转至
      推荐热词
      天翼云运维管理审计系统天翼云云服务平台云服务备份云日志服务应用运维管理云手机云电脑天翼云云hbase数据库电信云大数据saas服务电信云大数据paas服务轻量型云主机天翼云客户服务电话应用编排服务天翼云云安全解决方案云服务总线CSB天翼云服务器配置天翼云联邦学习产品天翼云云安全天翼云企业上云解决方案天翼云产品天翼云视频云存储

      天翼云最新活动

      安全隔离版OpenClaw

      OpenClaw云服务器专属“龙虾“套餐低至1.5折起

      天翼云新春焕新季

      云主机开年特惠28.8元/年,0元秒杀等你来抢!

      云上钜惠

      爆款云主机全场特惠,2核4G只要1.8折起!

      中小企业服务商合作专区

      国家云助力中小企业腾飞,高额上云补贴重磅上线

      出海产品促销专区

      爆款云主机低至2折,高性价比,不限新老速来抢购!

      天翼云奖励推广计划

      加入成为云推官,推荐新用户注册下单得现金奖励

      产品推荐

      弹性高性能计算 E-HPC

      天翼云CTyunOS系统

      一站式智算服务平台

      知识库问答

      人脸检测

      人脸属性识别

      动作活体识别

      通用型OCR

      车牌识别

      推荐文档

      《非经营性互联网信息服务备案管理办法》(信息产业部令第33号)

      修改实例安全组

      网页防篡改卸载

      • 7*24小时售后
      • 无忧退款
      • 免费备案
      • 专家服务
      售前咨询热线
      400-810-9889转1
      关注天翼云
      • 旗舰店
      • 天翼云APP
      • 天翼云微信公众号
      服务与支持
      • 备案中心
      • 售前咨询
      • 智能客服
      • 自助服务
      • 工单管理
      • 客户公告
      • 涉诈举报
      账户管理
      • 管理中心
      • 订单管理
      • 余额管理
      • 发票管理
      • 充值汇款
      • 续费管理
      快速入口
      • 天翼云旗舰店
      • 文档中心
      • 最新活动
      • 免费试用
      • 信任中心
      • 天翼云学堂
      云网生态
      • 甄选商城
      • 渠道合作
      • 云市场合作
      了解天翼云
      • 关于天翼云
      • 天翼云APP
      • 服务案例
      • 新闻资讯
      • 联系我们
      热门产品
      • 云电脑
      • 弹性云主机
      • 云电脑政企版
      • 天翼云手机
      • 云数据库
      • 对象存储
      • 云硬盘
      • Web应用防火墙
      • 服务器安全卫士
      • CDN加速
      热门推荐
      • 云服务备份
      • 边缘安全加速平台
      • 全站加速
      • 安全加速
      • 云服务器
      • 云主机
      • 智能边缘云
      • 应用编排服务
      • 微服务引擎
      • 共享流量包
      更多推荐
      • web应用防火墙
      • 密钥管理
      • 等保咨询
      • 安全专区
      • 应用运维管理
      • 云日志服务
      • 文档数据库服务
      • 云搜索服务
      • 数据湖探索
      • 数据仓库服务
      友情链接
      • 中国电信集团
      • 天翼云国际站
      • 189邮箱
      • 天翼企业云盘
      • 天翼云盘
      ©2026 天翼云科技有限公司版权所有 增值电信业务经营许可证A2.B1.B2-20090001
      公司地址:北京市东城区青龙胡同甲1号、3号2幢2层205-32室
      • 用户协议
      • 隐私政策
      • 个人信息保护
      • 法律声明
      备案 京公网安备11010802043424号 京ICP备 2021034386号