本文介绍导入Kafka数据到日志服务所涉及的使用限制。
采集限制
| 限制项 | 说明 | 
|---|---|
| 压缩格式 | Kafka Producer采用的压缩格式需被限制为gzip、zstd、lz4或snappy。其他压缩格式的Kafka数据会被丢弃。 数据处理流量观测仪表盘中的写失败条数代表被丢弃的数据条数。如何查看,请参见查看导入配置。 | 
| 最大Topic数量 | 单个数据导入配置最大支持指定10,000个Topic。 | 
| 单条日志大小 | 单条日志最大为3 MB。单条日志大小超过限制时,该日志会被丢弃。 数据处理流量观测仪表盘中的写失败条数代表被丢弃的数据条数。如何查看,请参见查看导入配置。 | 
| 起始位置 | 仅支持指定最早和最晚位置。不支持从指定时间的位置开始导入。 | 
配置限制
| 限制项 | 说明 | 
|---|---|
| 数据导入配置数量 | 单个Project允许创建的所有类型的导入配置总数最大为100个。如果您有更大的使用需求,请提工单申请。 | 
| 带宽限制 | 数据导入任务通过VPC网络读取阿里云Kafka集群的数据时,默认支持的最大网络带宽为128 MB/s。如果您需要更大的带宽,请提工单申请。 | 
性能限制
| 限制项 | 说明 | 
|---|---|
| 并发子任务数量 | 日志服务后台会自动根据Topic数量,创建多个导入子任务进行并发导入。每个子任务最大支持50 MB/s的处理速度(解压后的数据)。 
 如果您有更大的使用需求,请提工单申请。 | 
| Topic Partition数量 | Kafka Topic的Partition数量越多,越利于通过扩容子任务来提升处理吞吐。 针对数据量较大的Topic,您可以适当增加其Partition数量(建议不低于16个)。 | 
| Logstore Shard数量 | 日志服务的写性能取决于目标Logstore的Shard数量(单个Shard支持5 MB/s的写入)。当数据量较大时,建议增加目标Logstore的Shard数量。具体操作,请参见管理Shard。 | 
| 数据是否压缩 | 当数据量较大时,建议在写数据到Kafka时就进行压缩,这样可显著节省通过网络读取的数据量。 网络传输阶段往往比解压数据阶段更耗时,特别是采用公网导入数据时。 | 
| 网络 | 如果是VPC环境下的阿里云Kafka集群,您可通过VPC网络读取数据,节省公网流量且传输速度快(达到100 MB/s以上的带宽)。 采用公网导入数据时,网络的性能和带宽无法保障,容易出现导入延迟问题。 | 
其他限制
| 限制项 | 说明 | 
|---|---|
| 元数据同步延迟 | 导入任务每10分钟与Kafka集群同步一次集群的元数据信息。对于新增的Topic、Partitons,导入其元数据会存在10分钟左右的延迟。 说明 采用最迟策略读取数据时,对于新增Topic,最初写入的数据(最大10分钟的数据)将被跳过。
                                  | 
| Topic Offset有效时间 | Topic Offset的最大有效时间为7天,即如果有一个Topic在7天没有读取到数据,之前的Offset会被丢弃。后续有新数据时,按照导入配置中的起始位置的设置来决定要使用的Offset。 |