这是我参与「第五届青训营 」伴学笔记创作活动的第 16 天
消息队列(下)
消息队列-BMQ
BMQ简介
兼容Kafka协议,存算分离,云原生消息队列
BMQ介绍
运维操作对比
HDFS写文件流程
随机选择一定数量的 DataNode进行写入
BMQ文件结构
Kafka
BMQ
Broker-Partition状态机
保证对于任意分片在同一时刻只能在一个 Broker上存活
Broker-写文件流程
Broker-写文件Failover
Proxy
多机房部署
BMQ-高级特性
泳道消息
多个人同时测试,需要等待上一个人测试完成
每多一个测试人员,都需要重新搭建一个相同配置的Topic,造成人力和资源的浪费。
对于PPE的消费者来说,资源没有生产环境多,所以无法承受生产环境的流量。
解决主干泳道流量隔离问题以及泳道资源重复创建问题。
Databus
直接使用原生SDK会有什么问题?
1.客户端配置较为复杂5578
2.不支持动态配置,更改配置需要停掉服务
3.对于latency不是很敏感的业务,batch效果不佳
1.简化消息队列客户端复杂度 2.解耦业务与Topic 3.缓解集群压力,提高吞吐
Mirror
使用Mirror通过最终一致的方式,解决跨Region读写问题。
Index
如果希望通过写入的Logld、Userld或者其他的业务字段进行消息的查询,应该怎么做?
直接在BMQ中将数据结构化,配置索引DDL,异步构建索引后,通过Index Query服务读出数据。
Parquet
Apache Parquet是Hadoop生态圈中一种新型列式存储格式,它可以兼容Hadoop生态圈中大 多数计算框架(Hadoop、Spark等),被多种查询引擎支持(Hive、Impala、Drill等)。
直接在BMQ中将数据结构化,通过Parquet Engine,可以使用不同的方式构建Parquet格式文件.