华为云用户手册

  • 消息超过老化时间,消息仍存在的原因 问题现象:消息超过设置的老化时间(如果Topic已经设置了老化时间,此时“配置参数”中的log.retention.hours值将不对此Topic生效。仅在Topic中未设置老化时间时,“配置参数”中的log.retention.hours值才会对此Topic生效。),消息仍存在。 可能原因1:Topic的每个分区都是由多个大小相同的segment文件组成,每个segment文件的大小为500MB,当segment文件存储的消息大小到达500MB后,才会新建下一个segment文件。Kafka删除消息是删除segment文件,而不是删除一条消息。Kafka要求至少保留一个segment文件用来存储消息,如果正在使用的segment文件中包含超过老化时间的消息,由于此时segment文件不会被删除,所以超过老化时间的消息也不会被删除。 处理方法:等待segment文件被使用完,或者删除超过老化时间的消息所在的Topic。 可能原因2:Topic中存在一条create time为未来时间的消息(例如当前时间为1月1日,create time设置成了2月1日),此消息在72小时后,并不会被老化,导致在此消息后创建的其他消息都不会被老化。 处理方法:删除create time为未来时间的消息所在的Topic。 父主题: 消息问题
  • 如果消息组中没有在线的消费者(如empty状态),是否14天后会自动被删除? 消息组中没有在线的消费者(如empty状态),14天后是否会自动被删除与offsets.retention.minutes参数有关: 2020年6月16日前创建的实例,offsets.retention.minutes默认为2147483646分钟,约1491308天,消费组14天后不会被删除。 2020年6月16日以及之后创建的实例,offsets.retention.minutes默认为20160分钟,即14天,消费组14天后会自动被删除。 原因如下:Kafka通过offsets.retention.minutes参数控制消费组中offsets保留时间,在此时间内如果没有提交offset,offsets将会被删除。Kafka判定消息组中没有在线的消费者(如empty状态),且没有offsets时,将会删除此消费组。 父主题: 消费组问题
  • Kafka体验版使用说明 Kafka体验版实例规格为EXP,为单代理实例,不支持Kafka Manager、Smart Connect和多AZ等功能。 Kafka体验版实例只适用体验和业务测试场景,无法保证性能和可靠性。如果需要在生产环境使用Kafka实例,建议购买按需或包年包月的Kafka实例。 Kafka体验版仅在华南-广州的区域支持,其他区域暂不支持。 如果您想要了解其他规格的Kafka实例,请参见产品规格。
  • 客户端删除消费组后,在Kafka Manager中仍可以看到此消费组? 客户端删除消费组后,此消费组已经被删除了。在Kafka Manager中仍可以看到此消费组,是因为Kafka Manager存在缓存。 通过以下任意一种方法解决此问题: 重启Kafka Manager。 Kafka Manager只显示14天内有消费记录的消费组,如果您不想重启Kafka Manager,可以等待14天后Kafka Manager自动清除此消费组。 父主题: 消费组问题
  • 如何查看堆积消息数? 通过以下任意一种方法,查看堆积消息数。 在Kafka控制台的“消费组管理”页面,单击待查看堆积消息的消费组名称,进入消费组详情页。在“消费进度”页签,查看消费组中每个Topic的总堆积数。具体步骤,请参考查看消费者信息。 在Kafka控制台的“监控”页面的“消费组”页签中,“消费组”选择待查看堆积消息数的消费组名称,“队列”选择“全部队列”,“消费组可消费消息数”表示此消费组中所有Topic的堆积消息数之和。查看监控数据的具体步骤,请参考查看监控数据。 在 云监控 页面的“消费组”页签中,“消费组”选择待查看堆积消息数的消费组名称,“队列”选择“全部队列”,“消费组可消费消息数”表示此消费组中所有Topic的堆积消息数之和。查看监控数据的具体步骤,请参考查看监控数据。 在Kafka客户端,在“/{命令行工具所在目录}/kafka_{version}/bin/”目录下,通过kafka-consumer-groups.sh --bootstrap-server {kafka连接地址} --describe --group {消费组}命令查看消费组中每个Topic的堆积消息数。“LAG”表示每个Topic的总堆积数。 图1 查看每个Topic的总堆积数 如果Kafka实例开启SASL认证,则以上命令还需要增加SASL认证的“consumer.properties”配置文件参数: --command-config {SASL认证的consumer.properties配置文件},“consumer.properties”配置文件参考开启SASL认证的Kafka命令行连接说明。 父主题: 消息问题
  • 使用内网通过同一个VPC访问实例 客户端和实例是否使用相同的安全组? 是,如果保留了创建安全组后,系统默认添加的入方向“允许安全组内的弹性云服务器彼此通信”规则和出方向“放通全部流量”规则,则无需添加其他规则。否则,请添加表1所示规则。 表1 安全组规则 方向 协议 端口 源地址 说明 入方向 TCP 9092 0.0.0.0/0 使用内网通过同一个VPC访问Kafka实例(关闭SSL加密)。 入方向 TCP 9093 0.0.0.0/0 使用内网通过同一个VPC访问Kafka实例(开启SSL加密)。 否,执行2。 参考如下配置安全组规则。 假设客户端和Kafka实例的安全组分别为:sg-53d4、Default_All。以下规则,远端可使用安全组,也可以使用具体的IP地址,本章节以安全组为例介绍。 客户端所在安全组需要增加如下规则,以保证客户端能正常访问Kafka实例。 表2 安全组规则 方向 策略 协议端口 目的地址 出方向 允许 全部 Default_All 图1 配置客户端安全组 Kafka实例所在安全组需要增加如下规则,以保证能被客户端访问。 表3 安全组规则 方向 策略 协议端口 源地址 入方向 允许 全部 sg-53d4 图2 配置Kafka实例安全组
  • 如何选择Kafka实例的存储空间? 存储空间主要是指用于存储消息(包括副本中的消息)、日志和元数据所需要的空间。选择存储空间时,需要选择磁盘类型和磁盘大小。更多磁盘信息,请参考如何选择磁盘类型 假设业务存储数据保留天数内磁盘大小为100GB,则磁盘容量最少为100GB*副本数 + 预留磁盘大小100GB。Kafka集群中,每个Kafka节点会使用33GB的磁盘作为日志和Zookeeper数据的存储,因而实际可用存储会小于购买存储。 其中,副本数在创建Topic时可以选择,默认为3副本存储。如果开启了Kafka自动创建Topic功能,自动创建的Topic默认为3副本,副本数可以通过“配置参数”页签中的“default.replication.factor”修改。 父主题: 实例问题
  • Kafka实例是否支持修改访问端口? Kafka实例的访问端口固定,不支持修改。 如果是访问未开启SASL的Kafka实例 支持的访问方式如下:同一VPC内访问、公网访问、跨VPC访问和DNAT访问。 同一VPC内访问,访问端口为9092。 公网访问,访问端口为9094。 跨VPC访问和DNAT访问,访问端口为9011。 DNAT访问,访问端口为9011。 如果是访问开启SASL的Kafka实例 支持的访问方式如下:同一VPC内访问、公网访问、跨VPC访问和DNAT访问。 同一VPC内访问,访问端口为9093。 公网访问,访问端口为9095。 跨VPC访问和DNAT访问,访问端口为9011。 DNAT访问,访问端口为9011。 在访问Kafka实例之前,需要确保安全组是否配置正确,配置要求,请参考选择和配置安全组。 父主题: 实例问题
  • Kafka支持哪些加密套件? 由于安全问题,2021年3月20日前以及当天创建的实例,支持的加密套件为TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256和TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256。2021年3月20日后创建的实例,支持的加密套件为TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256。 父主题: 实例问题
  • Kafka实例连接数有限制吗? 不同规格的Kafka实例,连接数限制如下: 基准带宽为100MB/s时,Kafka客户端连接数在3000以内。 基准带宽为300MB/s时,Kafka客户端连接数在10000以内。 基准带宽为600MB/s时,Kafka客户端连接数在20000以内。 基准带宽为1200MB/s时,Kafka客户端连接数在20000以内。 实例规格为kafka.2u4g.cluster.small时,单个代理客户端总连接数上限为2000。 实例规格为kafka.2u4g.cluster时,单个代理客户端总连接数上限为2000。 实例规格为kafka.4u8g.cluster时,单个代理客户端总连接数上限为4000。 实例规格为kafka.8u16g.cluster时,单个代理客户端总连接数上限为4000。 实例规格为kafka.12u24g.cluster时,单个代理客户端总连接数上限为4000。 实例规格为kafka.16u32g.cluster时,单个代理客户端总连接数上限为4000。 父主题: 连接问题
  • 消费者消费Topic失败,提示没有权限? 问题现象:同一个消费组内有多个消费者,为每个消费者授权不同的Topic访问权限,某一消费者消费其中一个Topic时,提示消费失败,报错信息如下:Not authorized to access topics。 问题原因:消费组的leader在进行分区分配时,不会考虑某一个消费者的授权和订阅信息,只会根据消费组整体的订阅情况进行分区分配,此种情况下可能会给消费者分配到未授权的Topic,从而导致了上述问题的出现。 例如:消费组中有消费者A、B、C,A订阅并授权Topic 0、Topic 1、Topic 2,B订阅并授权Topic 3、Topic 4、Topic 5,C订阅并授权Topic 6、Topic 7、Topic 8,假设以上Topic都只有一个分区,消费组的leader会根据策略进行分区分配,分配的结果可能变成:A消费Topic 0、Topic 3、Topic 6,B消费Topic 1、Topic 4、Topic 7,C消费Topic 2、Topic 5、Topic 8。此时A对Topic 3和Topic 6是没有授权的,因此会出现“Not authorized to access topics”的报错。 图1 消费者访问权限 处理方法: 如果业务要求所有消费者在同一个消费组内,即group.id相同,解决方法:为所有消费者授权相同的Topic访问权限。 如果消费者不需要在同一个消费组内,解决方法:修改group.id,让每个消费者单独在一个消费组内。 父主题: Topic和分区问题
  • 为什么Console页面上,消息查询查不到消息? 可能原因1:消息已被老化。 解决方法:修改老化时间。 可能原因2:消息的createTime时间戳不对。 Console页面是根据时间查询的,所以查不到。时间戳是由客户端生成,不同客户端有不同的处理策略,有的客户端默认值会是0或者-1,则查询不到消息。 解决方法:检查客户端消息的createTime设置是否正确。 可能原因3:磁盘容量超过95%,且“容量阈值策略”设置为“自动删除”。 “容量阈值策略”设置为“自动删除”,表示磁盘容量达到95%时,系统会删除最早的10%的消息,以保证磁盘容量充足。当磁盘容量超过95%时,未到达老化时间的消息也会被删除,所以可能会导致部分消息查询不到。 解决方法:修改容量阈值策略或扩大磁盘容量。“容量阈值策略”设置为“生产受限”,表示一旦磁盘使用达到容量阈值95%,会导致后续生产失败,但保留了当前磁盘中的数据,直至数据自然老化。该场景适用于对数据不能丢的业务场景,但是会导致生产业务失败。 父主题: 消息问题
  • Yikes! Insufficient partition balance when creating topic : projectman_project_enterprise_project Try again. 问题现象: 在Kafka Manager中无法创建topic,报错:Yikes! Insufficient partition balance when creating topic : projectman_project_enterprise_project Try again. 问题原因:Topic分区超过限制,不能继续创建Topic。 处理方法:建议扩大实例规格,实例规格增加,分区数也会相应增加。 父主题: Kafka Manager问题
  • 解决方法/排查思路 场景一:未能及时发送心跳请求 解决方法:建议在消费者客户端将session.timeout.ms值设置为heartbeat.interval.ms值3倍以上。 场景二:消费者消费时间间隔过长 排查思路: 检查单条消息的处理时间是多久,处理max.poll.records条消息会不会超过max.poll.interval.ms时间。 消息处理流程是否有网络行为,如写数据库、调用后端API等,在发生Rebalance的场景下后端是否正常。 解决方法:建议在消费者客户端将max.poll.records值减小。
  • Kafka实例是否支持查看单个Topic占用磁盘空间? 支持。通过以下任意一种方法,查看单个Topic占用磁盘空间大小。 在Kafka实例名称后,单击,跳转到云监控页面。在“队列”页签中,“队列”选择待查看磁盘空间大小的Topic名称,“监控类型”选择“基本监控”,查看“队列数据容量”,该指标表示该队列当前的消息数据大小。 单击Kafka实例名称,进入实例详情页。在左侧导航栏单击“监控”,进入监控页面。在“主题”页签中,“主题”选择待查看磁盘空间大小的Topic名称,“监控类型”选择“基本监控”,查看“队列数据容量”,该指标表示该队列当前的消息数据大小。 父主题: Topic和分区问题
  • 服务韧性 DMS for Kafka提供了3级可靠性架构,通过跨AZ容灾、AZ内实例容灾、实例数据多副本技术方案,保障服务的持久性和可靠性。 表1 DMS for Kafka可靠性架构 可靠性方案 简要说明 跨AZ容灾 DMS for Kafka提供跨AZ类型实例,支持跨AZ容灾,当一个AZ异常时,不影响Kafka实例持续提供服务。 AZ内实例容灾 同一个AZ内,Kafka实例通过副本冗余方式实现实例容灾,当检测到leader副本故障后,快速完成副本选主,保障Kafka实例持续提供服务。 数据容灾 通过支持数据多副本方式实现数据容灾。 父主题: 安全
  • 审计与日志 云审计 服务(Cloud Trace Service,简称 CTS ),是华为 云安全 解决方案中专业的日志审计服务,提供对各种云资源操作记录的收集、存储和查询功能,可用于支撑安全分析、合规审计、资源跟踪和问题定位等常见应用场景。 用户开通云审计服务并创建和配置追踪器后,CTS可记录DMS for Kafka的管理事件用于审计。 CTS的详细介绍和开通配置方法,请参见CTS快速入门。 CTS支持追踪的DMS for Kafka管理事件列表,请参见云审计服务支持的DMS for Kafka操作列表。 图1 云审计服务 父主题: 安全
  • 变更配置 Kafka实例的基准带宽支持变更配置:您可以根据业务需求增加您的实例规格,规格变更后即刻按照新的实例规格收费。 Kafka实例的代理个数支持变更配置:您可以根据业务需求增加代理个数,扩容后即刻按照新的实例规格收费。 Kafka存储空间支持变更配置:您可以根据业务需求增加您的存储空间,扩容后即刻按照新的存储空间计费。您需要注意的是存储空间只允许扩容,不能缩容。您每次扩容的最小容量为100GB。
  • 数据保护技术 DMS for Kafka通过多种数据保护手段和特性,保障DMS for Kafka的数据安全可靠。 表1 DMS for Kafka的数据保护手段和特性 数据保护手段 简要说明 详细介绍 容灾和多活 根据对数据与服务的不同可靠性要求,您可以选择在单可用区内(单机房)部署Kafka实例,或跨可用区(同城灾备)部署,也可以通过数据同步工具(MirrorMaker)进行跨实例的数据同步。 在单可用区或多可用区中部署实例 使用MirrorMaker跨实例数据同步 副本冗余 副本通过数据同步的方式保持数据一致,当网络发生异常或节点故障时,通过冗余副本自动故障切换,并且故障恢复后会从leader副本进行数据同步,保持数据一致性。 创建多副本的Topic 数据持久化 业务系统日常运行中可能出现一些小概率的异常事件。部分可靠性要求非常高的业务系统,除了要求实例高可用,还要求数据安全、可恢复,以便在实例发生异常后能够使用备份数据进行恢复,保障业务正常运行。 - 父主题: 安全
  • 计费项 华为云分布式消息服务Kafka版对您选择的Kafka实例和Kafka的磁盘存储空间收费。 表1 Kafka消息队列计费项 计费项 计费说明 实例费用 对您选择的实例计费,按选择的E CS 规格和代理个数,提供不同性能的实例规格。购买实例之前请先对业务规模进行评估,再根据其它参数,选择适合的ECS规格和代理个数,单个代理性能规格如表2所示。 实例提供包年包月和按需(小时)计费方式。 开启Smart Connect后,实例需要另外收取用于Smart Connect的代理费用。 例如:规格为kafka.4u8g.cluster的实例,会另外创建2个规格为kafka.4u8g的代理,用于Smart Connect,所以需要收取相应代理费用。 存储空间费用 对您选择的存储空间计费(每个实例规格您都可以选择普通IO,高IO,超高IO三种不同的云硬盘类型以满足您的业务需求)。 存储可选择不同副本,如:实际实例容量为500GB,3副本,则应购买500GB*3=1500GB存储容量。 存储空间范围见表2,步长100G。 存储空间提供包年包月和按需(小时)计费方式。 表2 Kafka实例规格 实例规格 代理个数范围 单个代理TPS 单个代理分区上限 单个代理Consumer Group上限 单个代理客户端总连接数上限 存储空间范围 kafka.2u4g.cluster.small 3~30 20000 100 15 2000 300GB~300000GB kafka.2u4g.cluster 3~30 30000 250 20 2000 300GB~300000GB kafka.4u8g.cluster 3~30 100000 500 100 4000 300GB~600000GB kafka.8u16g.cluster 3~50 150000 1000 150 4000 300GB~1500000GB kafka.12u24g.cluster 3~50 200000 1500 200 4000 300GB~1500000GB kafka.16u32g.cluster 3~50 250000 2000 200 4000 300GB~1500000GB
  • 新老规格对应关系 2种Kafka实例规格的对应关系如表3所示。 表3 Kafka实例新老规格对应关系 老规格 分区数上限(老规格) TPS(老规格) 对应的新规格 带宽(新规格) 分区数上限(新规格) TPS(新规格) 100MB/s(c3.large.2 * 3) 300 10万 kafka.2u4g.cluster * 3 225MB/s 750 10万 300MB/s(c3.xlarge.2 * 5) 900 30万 kafka.4u8g.cluster * 3 450MB/s 1500 30万 600MB/s(c3.2xlarge.2 * 5) 1800 60万 kafka.8u16g.cluster * 4 700MB/s 4000 60万 1200MB/s(c3.2xlarge.2 * 10) 1800 120万 kafka.8u16g.cluster * 8 1400MB/s 8000 120万 例如:客户原先有4个节点(规格为8U16G),3个副本,总分区数为10000-15000,每个节点的写流量为720Mb,读流量为7.2Gb,复制流量为90MB*2,如果使用华为云Kafka实例,预计需要什么样的规格?费用多少? 总的写流量:720Mb*3*4=1080MB/s,总的读流量:7.2Gb*4=3686MB/s,总的复制流量:90MB*2*4=720MB/s,总的读写流量:1080+3686+720=5486MB/s。考虑到流量预留的影响,建议读写流量按照总流量的80%估算,即总流量需要5486/80%=6857.5MB。 Kafka实例单代理(超高I/O磁盘)最大支持350MB的流量,需要的代理个数=6857.5/350=20个。Kafka实例规格为kafka.8u16g.cluster*20。kafka.8u16g.cluster单代理最大支持1000分区,客户需要10000-15000的总分区数,通过流量算出的kafka.8u16g.cluster*20规格满足要求。 kafka.8u16g.cluster单代理最小存储空间为800GB,总的存储空间为800*20=16000GB。 使用Kafka实例的费用:48600元(实例费用)+16000元(存储空间费用)=64600元/月。
  • 与开源Kafka的差异 分布式消息服务Kafka版在兼容开源Kafka基础上,对版本特性做了一定程度的定制和增强,所以,除了拥有开源Kafka的优点,分布式消息服务Kafka版提供了更多可靠、实用的特性。 表1 分布式消息服务Kafka版与开源Kafka的差异说明 对比类 对比项 分布式消息服务Kafka版 开源Kafka 简单易用 立等可用 即开即用,可视化操作,自助创建,自动化部署,分钟级创建实例,立即使用,实时查看和管理消息实例。 自行准备服务器资源,安装配置必要的软件并进行配置,等待时间长。 易出错。 简单API 提供简单的实例管理RESTFul API,使用门槛低。 无 成本低廉 按需使用 提供多种规格,按需使用,支持一键式在线进行实例代理个数、磁盘存储空间和代理规格扩容。 搭建消息服务本身需要费用,而且即使没有使用,所占用资源本身依旧要收费。 完全托管 租户不需要单独采购硬件资源,直接使用就绪的服务,无需额外成本。 需要购买硬件资源,自行搭建整个消息服务,使用和维护成本高。 实践验证 成熟度高 经受电商网站大规模访问考验,并且已经在华为云许多产品中使用,广泛部署运行在分布于世界各地的电信级客户云业务系统里。满足严苛的电信级故障模式库标准。紧随社区主流版本,修复开源bug,持续上线新功能,进行版本升级。 使用开源软件成熟度低,无法保证关键业务,商业案例少;自研周期长,并需要长时间进行验证。 能力强大 100%兼容开源,支持一键扩容,深度优化开源代码提升性能和可靠性,支持消息查询、消息转储等高级特性。 功能不完善,需额外投入进行开发。 稳定可靠 稳定高可用 支持跨AZ部署,提升可靠性。故障自动发现并上报告警,保证用户关键业务的可靠运行。 需要自己开发或基于开源实现,开发成本高昂,无法保证业务可靠运行。 无忧运维 后台运维对租户完全透明,整个服务运行具有完备的监控和告警功能。有异常可以及时通知相关人员。避免7*24小时人工值守。 需要自行开发完善运维功能,尤其是告警及通知功能,否则只能人工值守。 安全保证 VPC隔离,支持SSL通道加密。 需要自行进行安全加固。
  • 异步通信 将业务中属于非核心或不重要的流程部分,使用消息异步通知的方式发给目标系统,这样主业务流程无需同步等待其他系统的处理结果,从而达到系统快速响应的目的。 如网站的用户注册场景,在用户注册成功后,还需要发送注册邮件与注册短信,这两个流程使用Kafka消息服务通知邮件发送系统与短信发送系统,从而提升注册流程的响应速度。 图1 串行发送注册邮件与短信流程 图2 借助消息队列异步发送注册邮件与短信流程
  • 日志同步 在大型业务系统设计中,为了快速定位问题,全链路追踪日志,以及故障及时预警监控,通常需要将各系统应用的日志集中分析处理。 Kafka设计初衷就是为了应对大量日志传输场景,应用通过异步方式将日志消息同步到消息服务,再通过其他组件对日志做实时或离线分析,也可用于关键日志信息收集进行应用监控。 日志同步主要有三个关键部分:日志采集客户端,Kafka消息队列以及后端的日志处理应用。 日志采集客户端,负责用户各类应用服务的日志数据采集,以消息方式将日志“批量”、“异步”发送Kafka客户端。 Kafka客户端批量提交和压缩消息,对应用服务的性能影响非常小。 Kafka将日志存储在消息文件中,提供持久化。 日志处理应用,如Logstash,订阅并消费Kafka中的日志消息,最终供文件搜索服务检索日志,或者由Kafka将消息传递给Hadoop等其他大数据应用系统化存储与分析。 图4 日志同步示意图 上图中Logstash、ElasticSearch分别为 日志分析 和检索的开源工具,Hadoop表示大数据分析系统。
  • 错峰流控与流量削峰 在电子商务系统或大型网站中,上下游系统处理能力存在差异,处理能力高的上游系统的突发流量可能会对处理能力低的某些下游系统造成冲击,需要提高系统的可用性的同时降低系统实现的复杂性。电商大促销等流量洪流突然来袭时,可以通过队列服务堆积缓存订单等信息,在下游系统有能力处理消息的时候再处理,避免下游订阅系统因突发流量崩溃。消息队列提供亿级消息堆积能力,3天的默认保留时长,消息消费系统可以错峰进行消息处理。 另外,在商品秒杀、抢购等流量短时间内暴增场景中,为了防止后端应用被压垮,可在前后端系统间使用Kafka消息队列传递请求。 图3 消息队列应对秒杀大流量场景
  • 副本(Replica) 消息的备份存储。为了确保消息可靠,Kafka创建Topic时,每个分区会分别从代理中选择1个或多个,对消息进行冗余存储。 Topic的所有消息分布式存储在各个分区上,分区在每个副本存储一份全量数据,副本之间的消息数据保持同步,任何一个副本不可用,数据都不会丢失。 每个分区都随机挑选一个副本作为Leader,该分区所有消息的生产与消费都在Leader副本上完成,消息从Leader副本复制到其他副本(Follower)。
  • 产品优势 华为云分布式消息服务Kafka版完全兼容开源社区版本,旨在为用户提供便捷高效的消息队列。业务无需改动即可快速迁移上云,为您节省维护和使用成本。 一键式部署,免去集群搭建烦恼 您只需要在实例管理界面选好规格配置,提交订单。后台将自动创建部署完成一整套Kafka实例。 兼容开源,业务零改动迁移上云 兼容社区版Kafka的API,具备原生Kafka的所有消息处理特性。 业务系统基于开源的Kafka进行开发,只需加入少量认证安全配置,即可使用华为云分布式消息服务Kafka版,做到无缝迁移。 Kafka实例兼容开源社区Kafka 1.1.0、2.3.0和2.7版本。在客户端使用上,推荐使用和服务端版本一致的版本。 安全保证 独有的安全加固体系,提供业务操作云端审计,消息存储加密等有效安全措施。 在网络通信方面,除了提供SASL(Simple Authentication and Security Layer)认证,还借助虚拟私有云(VPC)和安全组等加强网络访问控制。 数据高可靠 Kafka实例支持消息持久化,多副本存储机制。副本间消息同步、异步复制,数据同步或异步落盘多种方式供您自由选择。 集群架构与跨AZ部署,服务高可用 Kafka后台为多集群部署,支持故障自动迁移和容错,保证业务的可靠运行。 Kafka实例支持跨AZ部署,代理部署在不同的AZ,进一步保障服务高可用。不同AZ之间基于Kafka ISR(in-sync replica)进行数据同步,Topic需要选择数据多副本并且将不同副本分布到不同的ISR上,在ISR正常同步状态下,故障RPO(Recovery Point Objective)趋近于0。 无忧运维 华为云提供一整套完整的监控告警等运维服务,故障自动发现和告警,避免7*24小时人工值守。Kafka实例自动上报相关监控指标,如分区数、主题数、堆积消息数等,并支持配置监控数据发送规则,您可以在第一时间通过短信、邮件等获得业务消息队列的运行使用和负载状态。 海量消息堆积与弹性扩容 内建的分布式集群技术,使得服务具有高度扩展性。分区数可配置多达100个,存储空间弹性扩展,保证在高并发、高性能和大规模场景下的访问能力,轻松实现百亿级消息的堆积和访问能力。 多规格灵活选择 Kafka实例的带宽与存储资源可灵活配置,并且自定义Topic的分区数、副本数。
  • 与其他云服务的关系 云审计(Cloud Trace Service) 云审计为您提供云服务资源的操作记录,记录内容包括您从管理控制台或者开放API发起的云服务资源操作请求以及每次请求的结果,供您查询、审计和回溯使用。 当前CTS记录的操作,请参考云审计日志。 虚拟私有云(Virtual Private Cloud) Kafka实例运行于虚拟私有云,需要使用虚拟私有云创建的IP和带宽。通过虚拟私有云安全组的功能可以增强访问Kafka实例的安全性。 弹性云服务器(Elastic Cloud Server) 弹性云服务器是由CPU、内存、操作系统、云硬盘组成的基础的计算组件。Kafka实例运行在弹性云服务器上,一个代理对应一台弹性云服务器。 云硬盘(Elastic Volume Service) 云硬盘为云服务器提供块存储服务,Kafka的所有数据(如消息、元数据和日志等)都保存在云硬盘中。 云监控(Cloud Eye) 云监控是一个开放性的监控平台,提供资源的实时监控、告警、通知等服务。 Kafka实例向CloudEye上报监控数据的更新周期为1分钟。 弹性公网IP(Elastic IP) 弹性公网IP提供独立的公网IP资源,包括公网IP地址与公网出口带宽服务。Kafka实例绑定弹性公网IP后,可以通过公网访问Kafka实例。 标签管理服务(Tag Management Service) 标签管理服务是一种快速便捷将标签集中管理的可视化服务,提供跨区域、跨服务的集中标签管理和资源分类功能。 为Kafka实例添加标签,可以方便用户识别和管理拥有的实例资源。
  • 方式2:在Kafka客户端上创建 仅在Kafka客户端版本为2.2以上时,支持通过kafka-topics.sh创建Topic,以及管理Topic的各类参数。 Topic名称开头包含特殊字符,例如#号“#”时,监控数据无法展示。 未开启SASL的Kafka专享版实例,在“/{命令行工具所在目录}/kafka_{version}/bin/”目录下,通过以下命令创建Topic。 ./kafka-topics.sh --create --topic {topic_name} --bootstrap-server {broker_ip}:{port} --partitions {partition_num} --replication-factor {replication_num} 已开启SASL的Kafka专享版实例,通过以下步骤创建Topic。 (可选)如果已经设置了SSL证书配置,请跳过此步骤。否则请执行以下操作。 在Kafka客户端的“/config”目录中创建“ssl-user-config.properties”文件,参考使用SASL证书连接增加SSL证书配置。 在“/{命令行工具所在目录}/kafka_{version}/bin/”目录下,通过以下命令创建Topic。 ./kafka-topics.sh --create --topic {topic_name} --bootstrap-server {broker_ip}:{port} --partitions {partition_num} --replication-factor {replication_num} --command-config ./config/ssl-user-config.properties
  • 虚拟私有云 虚拟私有云(Virtual Private Cloud,以下简称VPC)为Kafka实例提供一个隔离的、用户自主配置和管理的虚拟网络环境。 在创建Kafka实例前,确保已存在可用的虚拟私有云和子网。 创建方法,请参考创建虚拟私有云和子网。如果您已有虚拟私有云和子网,可重复使用,不需要多次创建。 在创建VPC和子网时应注意如下要求: 创建的VPC与使用的Kafka服务应在相同的区域。 创建VPC和子网时,配置参数建议使用默认配置。 在创建Kafka实例前,确保已存在可用的安全组。 创建方法,请参考创建安全组。如果您已有安全组,可重复使用,不需要多次创建。 在创建安全组时应注意如下要求: 创建安全组时,“模板”选择“自定义”。 使用Kafka实例必须添加表1所示安全组规则,其他规则请根据实际需要添加。 表1 安全组规则 方向 协议 端口 源地址 说明 入方向 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 9011 198.19.128.0/17 通过 VPC终端节点 实现跨VPC访问Kafka实例(开启SSL加密和关闭SSL加密都适用)。 入方向 TCP 9011 0.0.0.0/0 使用DNAT访问Kafka实例(开启SSL加密和关闭SSL加密都适用)。 安全组创建后,系统默认添加入方向“允许安全组内的弹性云服务器彼此通信”规则和出方向“放通全部流量”规则。此时使用内网通过同一个VPC访问Kafka实例,无需添加表1的规则。
共100000条