版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/namelessfighter/article/details/80547364
日志服务提供了两项功能都和“读”有关:
日志收集与消费(LogHub):提供公共的日志收集、分发通道。全量数据顺序(FIFO)读写,提供类似Kafka的功能
- 每个LogStore有一个或多个Shard,数据写入时,随机落到某一个shard中
- 可以从指定shard中,按照日志写入shard的顺序批量读取日志
- 可以根据server端接收日志的时间,设置批量拉取shard日志的起始位置(cursor)
- 日志在LogHub中,默认保留2天时间,在此期间,日志可消费
日志查询(LogSearch):在LogHub基础上提供海量日志查询功能,根据关键词的数据随机查询
- 通过关键词查找,只抓取符合要求的数据
- 支持关键词 AND、NOT、OR的布尔组合
- 数据查询不区分shard
两者区别:
功能 | 日志查询(LogSearch) | 日志收集与消费(LogHub) |
---|---|---|
关键词查找 | 支持 | 不支持 |
小量数据读取 | 快 | 快 |
全量数据读取 | 慢(100条日志100ms,不建议这样使用) | 快 (1MB日志10ms,推荐方式) |
读取是否区分topic | 区分 | 不区分,只以shard作为标识 |
读取是否区分shard | 不区分,查询所有shard | 区分,单次读取需要指定shard |
费用 | 较高 | 低 |
适用场景 | 监控、问题调查等需要过滤数据的场景 | 流式计算、批量处理等全量处理场景 |
读写能力
每个分区可提供一定的服务能力:
- 写入:5MB/s,2000次/s
- 读取:10MB/s,100次/s
- 使用日志服务写入日志数据时,建议将使用批量上传方式,日志包建议控制在3MB-5MB,且每次上传日志包内日志条数控制在4096条以内。(每条数据3个参数;1000条数据做为一个LogGroup,2万条数据提交用时2-4秒;2000条数据做为一个LogGroup,4万条数据提交用时4-6秒;)